x 軸の 2 つの値だけを変更したい .fig ファイルがあります。
プロットのソース コードがない場合はどうすればよいですか? .fig ファイルだけがあります。
x 軸の 2 つの値だけを変更したい .fig ファイルがあります。
プロットのソース コードがない場合はどうすればよいですか? .fig ファイルだけがあります。
あなたのコメントによると、x軸とy軸のペアが 1 組あり、その中にいくつかのプロットがあり、値を変更したいと考えています。
.fig ファイルを開き、次の操作を行います。
aux = get(gca,'Children'); %// get all plots within current axes
n = 1; %// or 2 or 3, whichever plot you want to change
x = get(aux(n),'XData'); %// x values of selected plot
これにより、 variable のx軸の値が得られますx
。その変数を必要に応じて変更し、プロットに戻します。
set(aux(n),'XData',x)
でデータを引き出すことget(gca,...)
は、おそらく最も直接的な解決策です。ただし、他にも言及する価値のある、あいまいではあるが便利な MATLAB 機能がいくつかあります。
1 つ目は、Figure から M ファイルを生成する MATLAB の機能です。これを使用して、Figure をプログラムで再作成および変更できます。次のメニュー項目をクリックするだけfunction createfigure(X1, Y1)
で、新しいデータX1
とY1
.
言及する価値のあるもう 1 つのことは、.fig ファイルは実際には Figure を指定するデータを含む MAT ファイルであるということです。たとえば、次のコマンドは .fig データをstruct
MATLAB の a にロードし、プロット データに簡単にアクセスできます。
>> f = load('testjunk.fig','-mat')
f =
hgS_070000: [1x1 struct]
>> axesNum = 1; seriesNum = 1;
>> series = f.hgS_070000.children(axesNum).children(seriesNum)
series =
type: 'graph2d.lineseries'
handle: 172.0051
properties: [1x1 struct]
children: []
special: []
>> X1 = series.properties.XData
ans =
0.0305 0.7441 0.5000 0.4799 0.9047
>> Y1 = series.properties.YData
ans =
0.6099 0.6177 0.8594 0.8055 0.5767
組み合わせて、仕事を終わらせましょう。