Configuración del tamaño de la figura del gráfico


91

Todo lo que quiero hacer es aumentar el ancho y reducir la altura. Solo estoy haciendo gráficos ráster, pero esta pregunta se aplica a cualquier MATLAB figure. Puedo cambiar su tamaño manualmente usando la figura directamente cuando se crea, pero quiero que el programa lo escupe en el tamaño correcto para comenzar.

Respuestas:


81

Aquífigure se hace referencia a las propiedades que se pueden establecer para a .

Entonces podrías usar:

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
¿Y cómo se puede guardar la figura con las mismas dimensiones definidas por set? En su saveas(gcf, file, 'png')lugar, As usa dimensiones predeterminadas.
István Zachar


64

Escríbalo como una sola línea :

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

ingrese la descripción de la imagen aquí


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

Esto guarda la figura en las dimensiones especificadas


8
+1 para el 'PaperPositionMode' es necesario si desea 'imprimir' (exportar) la figura.
Ali

1

Logré obtener un buen resultado con la siguiente secuencia (ejecutar Matlab dos veces al principio):

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

Un enfoque diferente.
En la figure()llamada, especifique propiedades o modifique las propiedades del identificador de figura después h = figure().

Esto crea una figura de pantalla completa basada en unidades normalizadas.
figure('units','normalized','outerposition',[0 0 1 1])

La unitspropiedad se puede ajustar a pulgadas, centímetros, píxeles, etc.

Ver figure documentación .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.