Figure 内に複数ある座標軸のうち、ある特定の座標軸のみを印刷または保存することはできますか?
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
MathWorks Support Team
il 31 Gen 2017
Risposto: MathWorks Support Team
il 31 Gen 2017
Figure 内に複数ある座標軸のうち、ある特定の座標軸のみを印刷または保存する方法を教えてください。
Risposta accettata
MathWorks Support Team
il 31 Gen 2017
Figure から、ある特定の座標軸のみを印刷する直接的な機能は MATLAB では提供されていません。
MATLAB の印刷(ファイル出力)機能は、Axes 単位ではなく、Figure 対象としています。そのため、1つの座標軸だけを指定することができません。
代替案として、copyobj 関数を使用して、特定の Axes のみをコピーし、新しい Figuer に配置し、それを印刷する方法があります。
% 複数座標軸をもつ Figure の作成
fig1 = figure;
xx = 0:pi/10:2*pi;
sp(1) = subplot(3,1,1);
plot(xx, 10*sin(xx));
sp(2) = subplot(3,1,2);
plot(xx, cos(xx));
sp(3) = subplot(3,1,3);
plot(xx, tan(xx));
% 1 番目の Axes に対する凡例の作成
hLeg = legend(sp(1),'Signal')
% 印刷用に新たな Figure を作成
fig2 = figure('visible','off');
% Axes のコピー
newax = copyobj(sp(1),fig2);
% 凡例のコピー
newLeg = copyobj(hLeg,fig2);
% subplot で描画していたサイズでなく、デフォルトのAxes サイズに調整したい場合は
% 以下のように Position プロパティを調整
set(newax, 'units', 'normalized', 'position', [0.13 0.11 0.775 0.815]);
% 印刷/保存
print(fig2) % 印刷
hgsave(fig2,'myfig') % .fig として保存
close(fig2) % Figure を閉じる
注意点として、copyobj 関数では、カラーバーなど一部の機能はコピーされません。詳細については、下記コマンドより、copyobj 関数のヘルプドキュメントをご覧ください。
>> doc copyobj
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su 2 次元および 3 次元プロット in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!