plotコマンドを使​わずに、新規figu​reに元のグラフをコ​ピーをする。

6 Ansichten (letzte 30 Tage)
Mamoru Mabuchi
Mamoru Mabuchi am 25 Jun. 2020
Beantwortet: Akira Agata am 26 Jun. 2020
下の図のような、通常のグラフと、拡大のグラフを描画させたいです。
plotコマンドによる再描画ではなく、グラフをコピーすることはできますか?
-------------------------------
figure(1)
ax(1) = axes('Position',[0.1, 0.55 , 0.8182, 0.4091]);
ax(2) = axes('Position',[0.1, 0.1 , 0.8182, 0.4091]);
x1=0:0.1:10;
plot(ax(1),x1,sin(x1)) % グラフ1
plot(ax(2),x1,sin(3*x1)) % グラフ2
figure(2)
% plotコマンドを使わずに、グラフ2をfigure(2)内に描画したい
% plot(ax(2),x1,sin(3*x1)) % グラフ2
xlim([2 5])

Akzeptierte Antwort

Akira Agata
Akira Agata am 26 Jun. 2020
copyobj を使うのはいかがでしょうか?
たとえばご質問頂いた例では、以下のようになります。
figure
ax1 = axes('Position',[0.1, 0.55 , 0.8182, 0.4091]);
ax2 = axes('Position',[0.1, 0.1 , 0.8182, 0.4091]);
x1 = 0:0.1:10;
plot(ax1,x1,sin(x1)) % グラフ1
pHandle = plot(ax2,x1,sin(3*x1)); % グラフ2
figure
ax3 = axes;
copyobj(pHandle,ax3); % グラフ2のプロットハンドルをcopyして、ax3をParentとして割り当てる
xlim([2 5])

Weitere Antworten (0)

Kategorien

Mehr zu 2 次元および 3 次元プロット finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!