Встановлення розміру графіку фігури


91

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

Відповіді:


81

Властивості , які можуть бути встановлені для figureзгадується тут .

Потім ви можете використовувати:

figure_number = 1;
x      = 0;   % Screen position
y      = 0;   % Screen position
width  = 600; % Width of figure
height = 400; % Height of figure (by default in pixels)

figure(figure_number, 'Position', [x y width height]);

12
І як ви можете зберегти фігуру з однаковими розмірами, визначеними set? As saveas(gcf, file, 'png')використовує замість цього розміри за замовчуванням.
Іштван Захар,


64

Напишіть його як однокласний :

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

введіть тут опис зображення


31
 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" потрібно, щоб ви хотіли "роздрукувати" (експортувати) рисунок.
Алі

1

Мені вдалося отримати хороший результат із такою послідовністю (двічі запустіть 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

Інший підхід.
Під час figure()виклику вкажіть властивості або змініть властивості дескриптора фігури після h = figure().

Це створює повноекранну фігуру на основі нормованих одиниць.
figure('units','normalized','outerposition',[0 0 1 1])

unitsВластивість може бути відрегульовано в дюйми, сантиметри, пікселі і т.д.

Див. figure Документацію .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.