web-dev-qa-db-fra.com

Réglage de la taille du graphique

Tout ce que je veux, c'est augmenter la largeur et réduire la hauteur. Je ne fais que des tracés matriciels mais cette question s'applique à tout MATLAB figure. Je peux le redimensionner manuellement à l’aide de la figure directement lorsqu’elle est créée, mais je veux que le programme la crache à la bonne taille pour commencer.

83
ale

Cela pourrait éventuellement vous aider?

hFig = figure(1);
set(hFig, 'Position', [x y width height])
80
Marcus Frödin

Ecrivez-le en tant que one-liner :

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

enter image description here

56
zinjaai
 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

Cela enregistre la figure dans les dimensions spécifiées

30
user1934314

J'ai réussi à obtenir un bon résultat avec la séquence suivante (exécuter Matlab deux fois au début):

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');
1
Thomas