1

2 つの Matlab プロットをマージする方法を探しています。それぞれの図ファイルを fig1.fig と fig2.fig として持っています。1 つの図には、1 から 100 などの特定の範囲で実行されるプロットが含まれ、もう 1 つの図には、101 から 200 などの最初のプロットの続きが含まれます。これらのプロットには約 8 時間かかるため、再プロットしたくありません。これら 2 つのプロットをマージする簡単な方法はありますか?

4

1 に答える 1

7

データを結合したいように聞こえるので、各プロットから x と y のデータを抽出する必要があります。ライン プロットがある場合は、最初の .fig ファイルを読み込むことができます

例えば

ここに画像の説明を入力

次に入力します

a = gca
handles = findobj(a)
isLine = strcmp(get(handles, 'Type'), 'line')
XData1 = get(handles(isLine), 'XData')
YData1 = get(handles(isLine), 'YData')

これにより、最初のプロットから線の x および y データが抽出されます。

すべての Figure を閉じて、2 番目のプロットを読み込みます。

ここに画像の説明を入力

a = gca
handles = findobj(a)
isLine = strcmp(get(handles, 'Type'), 'line')
XData2 = get(handles(isLine), 'XData')
YData2 = get(handles(isLine), 'YData')

マージされたプロットを次のようにプロットできるようになりました。

figure
plot([XData1 XData2], [YData1 YData2])
title('mergedPlot')

ここに画像の説明を入力

于 2013-05-31T07:14:59.550 に答える