Все, что я хочу сделать, это сделать ширину больше, а высота меньше. Я просто делаю растровые графики, но этот вопрос относится к любому MATLAB figure
. Я могу вручную изменить его размер, используя фигуру непосредственно, когда она была создана, но я хочу, чтобы программа выплевывала ее в нужном размере для начала.
Установка размера фигуры графа
Ответ 1
hFig = figure(1);
set(hFig, 'Position', [x y width height])
Ответ 2
Напишите его как однострочный:
figure('position', [0, 0, 200, 500]) % create new figure with specified size
Ответ 3
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
Сохраняет фигуру в указанных размерах
Ответ 4
Мне удалось получить хороший результат со следующей последовательностью (дважды запустить 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');
Ответ 5
Другой подход.
В вызове figure()
укажите свойства или измените свойства дескриптора фигуры после h = figure()
.
Это создает полноэкранный рисунок на основе нормализованных единиц. figure('units','normalized','outerposition',[0 0 1 1])
Свойство units
можно настроить на дюймы, сантиметры, пиксели и т.д.
Смотрите figure
документации.