グラフにおける任意のデータ選択
13 views (last 30 days)
Show older comments
以下の写真のように,計算を回すと時間ごとの変化が出るようなプログラムを使用しています.
全ての結果を出した後に,任意の時間だけの線を選択して表示されるようにすることはできるでしょうか.
0 Comments
Answers (1)
Shunichi Kusano
on 3 Dec 2020
こんにちは。
プロットした線はグラフィックスオブジェクトとして、変数に保存することができます。
% 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
See Also
Categories
Find more on 2 次元および 3 次元プロット in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!