質問: グラフにおける任意のデータ選択 以下の写真のように,計算を回すと時間ごとの変化が出るようなプログラムを使用しています. 全ての結果を出した後に,任意の時間だけの線を選択して表示されるようにすることはできるでしょうか.
回答: こんにちは。 プロットした線はグラフィックスオブジェクトとして、変数に保存することができます。 % pにプロットラインの情報を保存 p = plot(x,y); 複数のプロットをいったん保存してあとで一つずつ表示しなおすサンプルを次のように作りました。参考にしていただければと思います。注意点としては、linesに保存した各プロットライン情報は、それを表示している元のfigureを閉じた段階で消滅します。気を付けてください。 % 初期化 close, clear, clc; %% 適当にサインカーブを複数プロット figure; hold on; x = [0:0.01:1]; for i = 1:5 lines(i) = {plot(x,sin(2*pi*i*x))}; % グラフィックスオブジェクトとしてセルに順次保存 end %% % 新しいfigureに先ほどのプロットから一つずつ表示しなおす figure pnew = line(); % ダミーの線 for i = 1:5 % pnewのxdataとydataをlinesに保存していたデータで書き換える set(pnew,'xdata',lines{i}.xdata,'ydata',lines{i}.ydata); pause(0.5); % 0.5 秒ごとに更新して確認 end