Figure 内に複数ある座標軸のうち、ある特定の座標軸のみを印刷または保存することはできますか?
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
MathWorks Support Team
le 31 Jan 2017
Réponse apportée : MathWorks Support Team
le 31 Jan 2017
Figure 内に複数ある座標軸のうち、ある特定の座標軸のみを印刷または保存する方法を教えてください。
Réponse acceptée
MathWorks Support Team
le 31 Jan 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 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur 2 次元および 3 次元プロット dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!