Extract data from figure with multiple axes
4 次查看(过去 30 天)
显示 更早的评论
Hi,
I want to extract data from a figure which I have created using "tightplot" ( https://uk.mathworks.com/matlabcentral/fileexchange/45380-tightplots ). The function generates different cooradinate systems using axes.
I now want to extract the data from the figures. I tried this ( https://uk.mathworks.com/matlabcentral/answers/177990-how-do-i-pull-data-from-a-figure-with-multiple-plots ) but it does not work.
Here is an example of the figure:
figure;
ha=tight_subplot(2,2,0.08,[0.1000,0.0250],[0.08,0.025]);
%plot1
axes(ha(1));
plot(1:10);
%plot2
axes(ha(2));
plot(-1:-1:-10);
%plot3
axes(ha(3));
plot(1:10);
%plot4
axes(ha(4));
plot(-1:-1:-10);
2 个评论
Adam
2019-8-6
Do you not have the original data any more? It's a lot easier to keep the actual data than to start extracting it from plots. I haven't used tightplots, but its outputs appear to be all the axes handles so surely it is just a case of getting XData, YData, CData or whatever you want from each of these axes handles?
dpb
2019-8-6
Agree w/ Adam; just iterate through the hA array, retrieving the .Children handle(s) for each and then the subsequent .X|YData thereof.
Or, you could use findobj to get the 'Line' objects for the axes; eeny-meeny which way to go...
采纳的回答
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graphics Object Properties 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!