wake-up-neo.com

Wie speichert man eine Figur in MATLAB von der Kommandozeile aus?

Gibt es in MATLAB einen Befehl, mit dem eine Figur automatisch in FIG oder JPEG oder in beiden Formaten gespeichert werden kann?

36
ABC-biophi

Verwenden Sie saveas :

h=figure;
plot(x,y,'-bs','Linewidth',1.4,'Markersize',10);
% ...
saveas(h,name,'fig')
saveas(h,name,'jpg')

Auf diese Weise wird die Figur geplottet und automatisch in '.jpg' und '.fig' gespeichert. Sie müssen nicht warten, bis der Plot erscheint, und klicken Sie im Menü auf "Speichern unter". Weit weg, wenn Sie viele Zahlen plotten/speichern müssen.

Wenn Sie den Plot wirklich nicht erscheinen lassen wollen (er muss trotzdem geladen werden, kann das nicht vermeiden, sonst gibt es auch nichts zu speichern), können Sie ihn ausblenden:

h=figure('visible','off')
64
Gunther Struyf

Bei Verwendung der Saveas-Funktion ist die Auflösung nicht so gut wie beim manuellen Speichern der Figur mit Datei -> Speichern unter .... Es wird mehr empfohlen, stattdessen hgexport zu verwenden:

hgexport(gcf, 'figure1.jpg', hgexport('factorystyle'), 'Format', 'jpeg');

Dies geschieht genauso wie das manuelle Speichern der Figur.

source: http://www.mathworks.com/support/solutions/de/data/1-1PT49C/index.html?product=SL&solution=1-1PT49C

21
Avico

Ich glaube nicht, dass Sie es speichern können, ohne dass es erscheint. Verwenden Sie jedoch den Befehl print, um mehrere Formate zu speichern. Siehe die Antwort hier: Speichern einer imagesc-Ausgabe in Matlab

2
Malife

Wenn Sie es als .fig-Datei speichern möchten, ist hgsave die Funktion in Matlab R2012a . In späteren Versionen kann savefig auch funktionieren.

1
ssd352

In diesen Tagen (Mai 2017) leidet MATLAB immer noch an einer robusten Methode zum Exportieren von Zahlen, insbesondere in GNU/Linux-Systemen, wenn Zahlen im Stapelmodus exportiert werden. Am besten verwenden Sie die Erweiterung export_fig

Laden Sie einfach den Quellcode von Github herunter und verwenden Sie ihn:

plot(cos(linspace(0, 7, 1000)));
set(gcf, 'Position', [100 100 150 150]);
export_fig test2.png
0
Dan

imwrite(A,filename) schreibt die Bilddaten A in die durch Dateiname angegebene Datei, um das Dateiformat von der Erweiterung abzuleiten

0
jeremy_rutman