wake-up-neo.com

Größe der Diagrammfigur einstellen

Ich möchte nur die Breite vergrößern und die Höhe verringern. Ich mache nur Rasterzeichnungen, aber diese Frage gilt für alle MATLAB figure. Ich kann die Größe der Datei manuell anpassen, wenn sie erstellt wird, aber das Programm soll sie in der richtigen Größe ausspucken.

83
ale

Das könnte dir vielleicht helfen?

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

Schreiben Sie es als Einzeiler :

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

Dadurch wird die Figur in den angegebenen Abmessungen gespeichert

30
user1934314

Ich habe mit der folgenden Sequenz ein gutes Ergebnis erzielt (führen Sie Matlab zu Beginn zweimal durch):

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

Ein anderer Ansatz.
Geben Sie beim Aufruf von figure() die Eigenschaften an oder ändern Sie die Eigenschaften des Figurenhandles nach h = figure().

Dies erzeugt eine Vollbild-Figur basierend auf normalisierten Einheiten.
figure('units','normalized','outerposition',[0 0 1 1])

Die Eigenschaft units kann auf Zoll, Zentimeter, Pixel usw. eingestellt werden.

Siehe figureDokumentation .

0
SecretAgentMan