Extract multiple data series from *.fig
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi,
I have a .fig file from which I'd like to extract the original data. But the graph is a superposition of 2 plots, one being the original data, while the second one indicates the peaks of interest (just some circles that indicate the peaks).
When I try D = get(gca,'Children'); XData = get(D,'XData'); YData = get(D,'YData'); I get only the data of the second plot, i.e. the locations and values of the peaks. How can I extract the original data instead?
Thank you.
0 comentarios
Respuestas (4)
Jan
el 12 de Dic. de 2012
Are there mutliple axes objects?
findobj(get(gcf, 'Children'), 'type', 'axes')
Or are the handles of the 2nd line object hidden?
D = allchild(gca)
0 comentarios
Emanuele Spinosa
el 14 de Oct. de 2014
Hello,
I've got the same problem. Could you please tell me how you solved it?
Thanks
E.
0 comentarios
Mikhail
el 14 de Oct. de 2014
1) get id of your axes:
a=get(gcf,'Children')
2) get data you needed:
y=(get(a(1),'Children'),'YData')
If there is multiple data on 1 axes (2 or more functions on 1 graph) u'll get cell array
0 comentarios
Emanuele Spinosa
el 15 de Oct. de 2014
I think the best thing to do is to open manually the fig, delete manually all the data we're not interested in and then use the code
open namefile.fig %open your fig file, data is the name I gave to my file D=get(gca,'Children'); %get the handle of the line object XData=get(D,'XData'); %get the x data YData=get(D,'YData'); %get the y data
This will just extract the data you're interested in.
0 comentarios
Ver también
Categorías
Más información sobre Graphics Object Properties en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!