Azzera filtri
Azzera filtri

Extract multiple data series from *.fig

7 visualizzazioni (ultimi 30 giorni)
Chern Hui Lee
Chern Hui Lee il 12 Dic 2012
Risposto: Emanuele Spinosa il 15 Ott 2014
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.

Risposte (4)

Jan
Jan il 12 Dic 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)

Emanuele Spinosa
Emanuele Spinosa il 14 Ott 2014
Hello,
I've got the same problem. Could you please tell me how you solved it?
Thanks
E.

Mikhail
Mikhail il 14 Ott 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

Emanuele Spinosa
Emanuele Spinosa il 15 Ott 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.

Categorie

Scopri di più su Graphics Object Properties in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by