1

x 軸の 2 つの値だけを変更したい .fig ファイルがあります。

プロットのソース コードがない場合はどうすればよいですか? .fig ファイルだけがあります。

4

2 に答える 2

2

あなたのコメントによると、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)
于 2013-11-02T12:10:44.843 に答える
1

でデータを引き出すことget(gca,...)は、おそらく最も直接的な解決策です。ただし、他にも言及する価値のある、あいまいではあるが便利な MATLAB 機能がいくつかあります。

1 つ目は、Figure から M ファイルを生成する MATLAB の機能です。これを使用して、Figure をプログラムで再作成および変更できます。次のメニュー項目をクリックするだけfunction createfigure(X1, Y1)で、新しいデータX1Y1.

ここに画像の説明を入力

言及する価値のあるもう 1 つのことは、.fig ファイルは実際には Figure を指定するデータを含む MAT ファイルであるということです。たとえば、次のコマンドは .fig データをstructMATLAB の 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

組み合わせて、仕事を終わらせましょう。

于 2013-11-02T19:13:47.020 に答える