Impostazione della dimensione della figura del grafico


91

Tutto quello che voglio fare è aumentare la larghezza e diminuire l'altezza. Sto solo realizzando grafici raster ma questa domanda si applica a qualsiasi MATLAB figure. Posso ridimensionarlo manualmente usando la figura direttamente quando viene creato, ma voglio che il programma lo sputi nella giusta dimensione per iniziare.

Risposte:


81

Le proprietà che possono essere impostate per una figureviene fatto riferimento qui .

Potresti quindi usare:

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
E come puoi salvare la figura con le stesse dimensioni definite da set? As saveas(gcf, file, 'png')utilizza invece le dimensioni predefinite.
István Zachar


64

Scrivilo come una frase :

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

inserisci qui la descrizione dell'immagine


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

Ciò salva la figura nelle dimensioni specificate


8
+1 per il 'PaperPositionMode' è necessario che tu voglia 'stampare' (esportare) la figura.
Ali

1

Sono riuscito ad ottenere un buon risultato con la seguente sequenza (esegui Matlab due volte all'inizio):

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 approccio diverso.
Nella figure()chiamata specificare le proprietà o modificare le proprietà dell'handle della figura dopo h = figure().

Questo crea una figura a schermo intero basata su unità normalizzate.
figure('units','normalized','outerposition',[0 0 1 1])

La unitsproprietà può essere regolata su pollici, centimetri, pixel, ecc.

Vedere la figure documentazione .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.