Extracting data from a .fig file

77 ビュー (過去 30 日間)
Wissem-Eddine KHATLA
Wissem-Eddine KHATLA 2023 年 11 月 23 日
コメント済み: Dyuman Joshi 2023 年 11 月 23 日
Hello everyone,
I know this has already been discussed in an another discussion but I want to extract data from a particular figures and I keep having an error while using the habitual procedure :
open('Comparaison R(t) EXP x THE.fig');
a = get(gca,'Children');
xdata = get(a, 'XData');
ydata = get(a, 'YData');
zdata = get(a, 'ZData');
I obtain the following error :
Error using matlab.graphics.primitive.Data/get
Unrecognized property XData for class ConstantLine.
Anyone knows how I can have access to these datas ?
Thanks for your help in advance,
Sincerely

採用された回答

Dyuman Joshi
Dyuman Joshi 2023 年 11 月 23 日
There are multiple objects in the figure. You need to choose the object(s) for which you want to get the data -
open('Comparaison R(t) EXP x THE.fig')
a = get(gca,'Children')
a =
3×1 graphics array: ConstantLine (L_{car}) Line (Q_{t} - Elastique) Line (Exp)
%x, y and z data for the 2nd graphics object
x2 = a(2).XData
x = 1×255
0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000 2.2000 2.4000 2.6000 2.8000 3.0000 3.2000 3.4000 3.6000 3.8000 4.0000 4.2000 4.4000 4.6000 4.8000 5.0000 5.2000 5.4000 5.6000 5.8000
y2 = a(2).YData
y = 1×255
0 0.0010 0.0012 0.0014 0.0016 0.0017 0.0018 0.0019 0.0020 0.0021 0.0021 0.0022 0.0023 0.0023 0.0024 0.0024 0.0025 0.0025 0.0026 0.0026 0.0027 0.0027 0.0028 0.0028 0.0029 0.0029 0.0029 0.0030 0.0030 0.0030
z2 = a(2).ZData
z = 1×0 empty double row vector
  2 件のコメント
Wissem-Eddine KHATLA
Wissem-Eddine KHATLA 2023 年 11 月 23 日
Thank you : I misunderstood the result of the get function. Thanks again
Dyuman Joshi
Dyuman Joshi 2023 年 11 月 23 日
You're welcome!
Also, note that not every graphical object will have coordinate data associated with it.
A ConstantLine object is an example of that -
open('Comparaison R(t) EXP x THE.fig')
a = get(gca,'Children')
a =
3×1 graphics array: ConstantLine (L_{car}) Line (Q_{t} - Elastique) Line (Exp)
get(a(1))
Alpha: 0.7000 Annotation: [1×1 matlab.graphics.eventdata.Annotation] BeingDeleted: off BusyAction: 'queue' ButtonDownFcn: '' Children: [1×1 ListOfPointsHighlight] Color: [1 0 0] ColorMode: 'manual' ContextMenu: [0×0 GraphicsPlaceholder] CreateFcn: '' DeleteFcn: '' DisplayName: 'L_{car}' FontAngle: 'normal' FontName: 'Helvetica' FontSize: 10 FontWeight: 'normal' HandleVisibility: 'on' HitTest: on InterceptAxis: 'y' Interpreter: 'tex' Interruptible: on Label: {'L_{car}'} LabelHorizontalAlignment: 'right' LabelOrientation: 'aligned' LabelVerticalAlignment: 'top' LineStyle: '-.' LineStyleMode: 'manual' LineWidth: 2 Parent: [1×1 Axes] PickableParts: 'visible' Selected: off SelectionHighlight: on SeriesIndex: 'none' Tag: '' Type: 'constantline' UserData: [] Value: 0.0082 Visible: on
%Though Get the axis and value associated with it
a(1).InterceptAxis
ans = 'y'
a(1).Value
ans = 0.0082

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeInteractive Control and Callbacks についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by