Настройка размера фигуры на графике

73

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

Теги:
matlab-figure

4 ответа

73
Лучший ответ

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

hFig = figure(1);
set(hFig, 'Position', [x y width height])
  • 12
    И как вы можете сохранить фигуру с теми же размерами, которые определены set ? Так как saveas(gcf, file, 'png') использует размеры по умолчанию.
  • 0
    @ IstvánZachar см stackoverflow.com/questions/3600945 / ...
47

Напишите его как однострочный:

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

Изображение 6283

27
 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

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

  • 8
    +1 для «PaperPositionMode» необходимо, чтобы вы хотели «напечатать» (экспортировать) рисунок.
0

Мне удалось получить хороший результат со следующей последовательностью (дважды запустить 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');

Ещё вопросы

Сообщество Overcoder
Наверх
Меню