ライブスクリプトで一度生成したプロットを再度プロットする方法
4 views (last 30 days)
Show older comments
たとえば,
fig=plot(1:10)
とプロットすればライブスクリプト上でプロットされます.(figに代入する必要はないですが)
ここで同じものをもう一度プロットする最も単純な方法はもう一度同じコードを入力することですが,
これよりコードの多い複雑なプロットの場合,コードの幅を取るので美しくありません.
たとえばここで変数figを用いて再度プロットできないでしょうか?
figにはプロットのためのデータが揃っているためできると考えたのですが,実際に行う方法が見つかりませんでした.
あるいは,figを用いて簡単に再度プロットできないとしたら,他に簡単な方法があれば教えて頂きたいです.
0 Comments
Answers (1)
Shunichi Kusano
on 13 May 2020
copyobj関数が使えそうです。
2 Comments
Shunichi Kusano
on 18 May 2020
返事が遅くなりすみません。
追加のコードは必要になるかと思います。ご参考までに下記にサンプルコードを載せます。
close all
%% コピー元となるグラフィックオブジェクトの作成
fig = figure;
plot(1:300,[1:300]*0.01); % オブジェクト1
hold on;
plot(1:300,sin([1:300]*0.1),'r.'); % オブジェクト2
%% 新しいfigureにコピーして表示
ax = gca; % コピー元のaxis
newfig = figure; % コピー先のfigureウィンドウ
new_ax = axes; % コピー先のaxis
for i = 1:numel(ax.Children)
copyobj(ax.Children(i), new_ax); % コピー
end
See Also
Categories
Find more on グラフィックス出力のターゲットの指定 in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!