2012-04-20 3 views
0

私は、審美的/データ解釈上の理由から、等高線プロットが完全に正方形である等高線プロット(カラーバー付き)を作成しようとしています。MATLABでカラーバーを使って完全に正方形のプロットを作成するにはどうすればよいですか?

例コード:

x=-10:10; 
y=-10:10; 
[X Y] = meshgrid(x,y); 
f = figure('Visible','off'); 
contour(X,Y,X.*Y,'Fill','on'); 
colorbar 
x_size = 10; 
y_size = 10; 
set(f, 'PaperUnits', 'inches','PaperPosition',[0 0 x_size y_size]); 
print(f, '-depsc2','notsquare.eps); 

は、それが完全に正方形になるように、ちょうどコンタープロット領域の大きさを制御する方法はありますか?

答えて

2

これは、私の作品は、(axis equalを追加):

x=-10:10; 
y=-10:10; 
[X Y] = meshgrid(x,y); 
f = figure('Visible','off'); 
contour(X,Y,X.*Y,'Fill','on'); 
colorbar, axis equal 
x_size = 10; 
y_size = 10; 
set(f, 'PaperUnits', 'inches','PaperPosition',[0 0 x_size y_size]); 
print(f, '-depsc2','square.eps'); 
+0

感謝を!それを見ると、 'axis equal'はデータを正方形にプロットしますが、プロットボックス内の空白を残します。 '軸の広場'は私が欲しいものだけを行います。 – andyras

関連する問題