2

大量のデータを取得してグラフを生成するプログラムを作成しました。既存の図に曲線を作成し、それらの値を合計して 1 つの曲線を作成できれば、非常に便利で時間を大幅に節約できます。簡単な例として、次のコードがあるとしましょう。

x = [0 1 2 3 4 5];
y = [0 1 2 3 4 5];
z = [4 6 2 8 7 9];

figure
plot(x,y,x,z)   

このコードは、2 つの曲線を持つ図を生成します。コードを変更したり、プログラムを再実行したりせずに、図のオプションのみを使用して、曲線 y + z をプロットに追加したいと思います。これは可能ですか?ありがとう。

機能を追加したくない理由は、ファイル名文字列の 4D セル配列からデータを呼び出す 8 つのループ内にプロット コードが埋め込まれているためです。

4

1 に答える 1

2

xプロットで,yおよび変数を使用している場合は、次のようにzして新しい行をプロットに追加するだけです。

hold on
plot(x,y+z)
hold off

それらを直接持っていない場合 (関数で生成されたものなど)、線オブジェクトのプロパティを使用して Figure からいつでも取得できXDataますYData

hline = findobj(gca,'type','line');
x = get(hline,'XData');
y = get(hline,'YData');
X = x{1}; % let's assume that all lines have the same x values.
Y = sum(cell2mat(y));

hold on
plot(X,Y)
hold off
于 2013-04-09T15:54:22.877 に答える