Figure 内に複数ある座標軸の​うち、ある特定の座標​軸のみを印刷または保​存することはできます​か?

5 vues (au cours des 30 derniers jours)
MathWorks Support Team
MathWorks Support Team le 31 Jan 2017
Figure 内に複数ある座標軸のうち、ある特定の座標軸のみを印刷または保存する方法を教えてください。

Réponse acceptée

MathWorks Support Team
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

Plus de réponses (0)

Catégories

En savoir plus sur 2 次元および 3 次元プロット dans Help Center et File Exchange

Tags

Aucun tag saisi pour le moment.

Produits

Community Treasure Hunt

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

Start Hunting!