4

カラーバー付きのcontourfを使用して生成された図があります。私のプロットのほとんどは問題ありませんが、カラーバーの値が次10^{-3}の場合、数値0.005などがカラーバーによって書き込まれるかx10^{-3}、上部に書き込まれます。

3どちらの場合も、ラベルの一部 ( inまたはinx10^{-3}の半分)が切り取られます。50.005

これを使用して修正できます

set(gca, 'ActivePositionProperty', 'OuterPosition')

画面上の図ですが、eps形式で保存する必要があります。こうするとまた3(or 5) が切れる!

Figure ウィンドウの右下隅を手動で引っ張って大きくすると、これを修正することもできます。しかし、これにより、プロット自体と比較して軸ラベルなどのサイズが変更されるため、他のすべての図、つまりサイズを変更しない図とは異なります。

助言がありますか?

4

3 に答える 3

2

前者の提案は部分的に正しい。これが私がしたことです:

  1. Figure と Paper の両方の単位を同じ単位に設定します (Figure にはポイントではなくピクセルがあります!)

    set(gcf,'Units','points')
    set(gcf,'PaperUnits','points') 
    
  2. 前に提案したのと同じことを行います:

    size = get(gcf,'Position');
    size = size(3:4);
    set(gcf,'PaperSize',size)
    
  3. 今の問題は、私の場合のように、紙からずれている可能性があるので、元に戻すことです

    set(gcf,'PaperPosition',[0,0,size(1),size(2)])
    

[0,0]のオフセットについてはわかりませんが、単一のポイントカットオフとは:)

于 2012-06-13T13:15:56.123 に答える
2

Matlab では Figure に 2 つのサイズを使用します: 画面サイズ ( PositionFigure プロパティ) とPaperSize. 前者は画面に表示するために使用され、後者は印刷または 以外の画像形式にエクスポートするために使用されます.fig。これがあなたの問題の原因だと思います。

これがあなたが試すことができるものです:

size = get(gcf,'Position');
size = size(3:4); % the last two elements are width and height of the figure
set(gcf,'PaperUnit','points'); % unit for the property PaperSize
set(gcf,'PaperSize',size);

これにより、エクスポートする「用紙」.epsのサイズが、画面に表示される Figure のサイズに設定されます。

PaperSizeこれがうまくいかない場合は、他の「紙」関連のプロパティで少し遊んでみることができます。Figure プロパティのドキュメンテーション ページには、プロパティに関する詳細情報が記載されています。

お役に立てれば!

于 2012-02-16T09:07:36.640 に答える
0

これを試して、ファイルをfilename.epsに保存します。

set(gcf,'Units','points')
set(gcf,'PaperUnits','points')
size = get(gcf,'Position');

size = size(3:4);
set(gcf,'PaperSize',size)
set(gcf,'PaperPosition',[0,0,size(1),size(2)])

print(gcf,'filename','-depsc','-loose'); % Save figure as .eps file
于 2016-04-12T22:38:36.753 に答える