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.
Cela pourrait éventuellement vous aider?
hFig = figure(1);
set(hFig, 'Position', [x y width height])
Ecrivez-le en tant que one-liner :
figure('position', [0, 0, 200, 500]) % create new figure with specified size
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
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');