Настройка размера фигуры на графике - PullRequest
85 голосов
/ 03 марта 2011

Все, что я хочу сделать, это увеличить ширину и уменьшить высоту.Я просто делаю растровые графики, но этот вопрос относится к любому MATLAB figure.Я могу вручную изменить его размер, используя рисунок непосредственно при его создании, но я хочу, чтобы программа показала его в нужном размере, чтобы начать с.

Ответы [ 5 ]

80 голосов
/ 03 марта 2011

Это может вам помочь?

hFig = figure(1);
set(hFig, 'Position', [x y width height])
59 голосов
/ 18 августа 2014

Запишите его как однострочник :

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

enter image description here

30 голосов
/ 28 декабря 2012
 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

Сохраняет фигуру в указанных размерах

1 голос
/ 17 февраля 2016

Мне удалось получить хороший результат в следующей последовательности (дважды запустить Matlab в начале):

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');
0 голосов
/ 31 октября 2018

Другой подход.
При вызове figure() укажите свойства или измените свойства дескриптора фигуры после h = figure().

Это создает полноэкранный рисунок на основе нормализованных единиц.
figure('units','normalized','outerposition',[0 0 1 1])

Свойство units можно настроить на дюймы, сантиметры, пиксели и т. Д.

См. figure документация .

...