cannot extract data from figure with multiple lines

7 views (last 30 days)
I have a matlab figure with muliple lines in it that I am trying to extact. However I can only get the figure line. I am not sure what is wrong. I created the figures in simulink
I am using the following code
fig = openfig('traj.fig');
h = findobj(gca,'Type','line');
y_no_humanX = get(h,'Xdata') ;
y_no_humanY = get(h,'Ydata') ;
when I try to extract the data I only get the first line and cannot get the other lines. I am not sure what is going on.
Any ideas?

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 5 Apr 2022
Edited: Fangjun Jiang on 5 Apr 2022
The other two "curves" are created using stairs(). use findobj(fig,'Type','Stair') to find those.
fig = openfig('traj.fig');
>> findobj(fig)
ans =
12×1 graphics array:
Figure (ScopePrintToFigure)
UIContainer (PrintLayoutGridContainer)
UIContainer (PrintContainer)
Panel (DisplayPanel1)
Legend (ref, Subsystem/1, Subsystem/3)
Axes (DisplayAxes1_RealMag)
Stair (DisplayLine2)
Stair (DisplayLine1)
Line (DisplayLine1)
Fangjun Jiang
Fangjun Jiang on 6 Apr 2022
If you have access to the Simulink model and simulation, you could save those data directly using the "To Workspace" block.

Sign in to comment.

More Answers (0)


Find more on Simulink Environment Customization in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!