ライブスクリプトで一​度生成したプロットを​再度プロットする方法

3 visualizaciones (últimos 30 días)
Yuki Koyama
Yuki Koyama el 13 de Mayo de 2020
Comentada: Shunichi Kusano el 18 de Mayo de 2020
たとえば,
fig=plot(1:10)
とプロットすればライブスクリプト上でプロットされます.(figに代入する必要はないですが)
ここで同じものをもう一度プロットする最も単純な方法はもう一度同じコードを入力することですが,
これよりコードの多い複雑なプロットの場合,コードの幅を取るので美しくありません.
たとえばここで変数figを用いて再度プロットできないでしょうか?
figにはプロットのためのデータが揃っているためできると考えたのですが,実際に行う方法が見つかりませんでした.
あるいは,figを用いて簡単に再度プロットできないとしたら,他に簡単な方法があれば教えて頂きたいです.

Respuestas (1)

Shunichi Kusano
Shunichi Kusano el 13 de Mayo de 2020
copyobj関数が使えそうです。
  2 comentarios
Yuki Koyama
Yuki Koyama el 14 de Mayo de 2020
参照していただいたドキュメンテーションのように,追加のコードを設定しなければ,figureを再生成することは今の所できないということでしょうか?
Shunichi Kusano
Shunichi Kusano el 18 de Mayo de 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

Iniciar sesión para comentar.

Categorías

Más información sobre グラフィックス出力のターゲットの指定 en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!