Hello,
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') ;
close(fig);
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?

 採用された回答

Fangjun Jiang
Fangjun Jiang 2022 年 4 月 5 日
編集済み: Fangjun Jiang 2022 年 4 月 5 日

0 投票

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)
Transform
Transform
Transform

4 件のコメント

Nathaniel Goldfarb
Nathaniel Goldfarb 2022 年 4 月 5 日
I tried on both the "fig" object and on the path to the figure.
when I try it on the fig object i get an error
when I try it on the path it just prints out the numbers 1-99
Fangjun Jiang
Fangjun Jiang 2022 年 4 月 5 日
see updated answer
Nathaniel Goldfarb
Nathaniel Goldfarb 2022 年 4 月 5 日
Thankyou, this helped a lot. I was able to change the line type from "stair" to "line" and resave the figure.
I was then able to read in the data using my other code. I am sure there is a better way but I only need to do this for two figures so its not that big a deal.
Fangjun Jiang
Fangjun Jiang 2022 年 4 月 6 日
If you have access to the Simulink model and simulation, you could save those data directly using the "To Workspace" block.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Creating, Deleting, and Querying Graphics Objects についてさらに検索

製品

リリース

R2021a

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by