MATLAB: Retrieving data from many plots

helpMATLABplotting

I'm trying to figure out how to pull data from a figure that has 6 lines plotted on the same graph, and I have no idea how to approach this. I need to pull individual line plot data. Can anyone help me?
My code looks like this:
openfig('filename');
hf = gcf;
gca;
get(gca);
axesObjs = get(h, 'Children');
dataObjs = get(axesObjs, 'Children');
objTypes = get(dataObjs, 'Type');
xdata = get(dataObjs, 'XData');
ydata = get(dataObjs, 'YData');

Best Answer

Already you have the data in hand. YOur xdata and ydata will be a cell with your required data. Check the below demo code:
figure
hold on
for i = 1:5
plot(rand(1,10));
end
h = gcf;
axesObjs = get(h, 'Children');
dataObjs = get(axesObjs, 'Children');
objTypes = get(dataObjs, 'Type');
xdata = get(dataObjs, 'XData');
ydata = get(dataObjs, 'YData');
% extract data
for i = 1:numel(xdata)
fprintf('%d line data\n',i) ;
xdata{i}
ydata{i}
end