web-dev-qa-db-ja.com

グラフの図のサイズの設定

幅を大きくし、高さを小さくするだけです。ただラスタープロットをしていますが、この質問はすべてのMATLAB figureに当てはまります。作成された図を直接使用して手動でサイズを変更できますが、最初は適切なサイズで吐き出して欲しいです。

85
ale

これ おそらくあなたを助けることができますか?

hFig = figure(1);
set(hFig, 'Position', [x y width height])
80
Marcus Frödin

one-linerとして記述します:

figure('position', [0, 0, 200, 500])  % create new figure with specified size  

enter image description here

58
zinjaai
 figure (1)
 hFig = figure(1);
 set(gcf,'PaperPositionMode','auto')
 set(hFig, 'Position', [0 0 xwidth ywidth])
 plot(x,y)
 print -depsc2 correlation.eps;       % for saving in eps, look up options for saving as png or other formats you may need

これにより、指定した寸法で図が保存されます

30
user1934314

次のシーケンスで良い結果を得ることができました(最初にMatlabを2回実行します):

h = gcf; % Current figure handle
set(h,'Resize','off');
set(h,'PaperPositionMode','manual');
set(h,'PaperPosition',[0 0 9 6]);
set(h,'PaperUnits','centimeters');
set(h,'PaperSize',[9 6]); % IEEE columnwidth = 9cm
set(h,'Position',[0 0 9 6]);
% xpos, ypos must be set
txlabel = text(xpos,ypos,'$$[\mathrm{min}]$$','Interpreter','latex','FontSize',9);

% Dump colored encapsulated PostScript
print('-depsc2','-loose', 'signals');
1
Thomas

異なるアプローチ
figure()呼び出しで、h = figure()の後にプロパティを指定するか、Figureハンドルのプロパティを変更します。

これにより、正規化された単位に基づいて全画面図が作成されます。
figure('units','normalized','outerposition',[0 0 1 1])

unitsプロパティは、インチ、センチメートル、ピクセルなどに調整できます。

figureドキュメント を参照してください。

0
SecretAgentMan