web-dev-qa-db-fra.com

Comment enregistrer une figure dans MATLAB à partir de la ligne de commande?

Existe-t-il une commande dans MATLAB permettant d’enregistrer automatiquement une figure au format FIG ou JPEG ou aux deux formats?

36
ABC-biophi

Utilisez saveas :

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

De cette façon, la figure est tracée et automatiquement enregistrée dans '.jpg' et '.fig'. Vous n'avez pas besoin d'attendre l'apparition du tracé et de cliquer sur "enregistrer sous" dans le menu. Bien à faire si vous avez besoin de tracer/économiser beaucoup de chiffres.

Si vous ne voulez vraiment pas laisser l’intrigue apparaître (elle doit être chargée de toute façon, vous ne pouvez pas l’éviter, sinon il n’y a rien à sauvegarder), vous pouvez la masquer:

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

Lorsque vous utilisez la fonction save, la résolution n'est pas aussi bonne que lorsque vous enregistrez manuellement la figure avec Fichier -> Enregistrer sous ..., il est plutôt recommandé d'utiliser hgexport à la place, comme suit:

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

Cela fera exactement comme enregistrer manuellement la figure.

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

21
Avico

Je ne pense pas que vous puissiez le sauvegarder sans que celui-ci apparaisse, mais pour enregistrer dans plusieurs formats, utilisez la commande print. Voir la réponse affichée ici: Enregistrer une sortie imagesc dans Matlab

2
Malife

Si vous souhaitez l'enregistrer en tant que fichier .fig, hgsave est la fonction de Matlab R2012a . Dans les versions ultérieures, savefig peut également fonctionner.

1
ssd352

De nos jours (mai 2017), MATLAB souffre toujours d’une méthode robuste d’exportation des chiffres, en particulier dans les systèmes GNU/Linux, lors de l’exportation de chiffres en mode batch. La meilleure option consiste à utiliser l'extension export_fig

Il suffit de télécharger le code source de Github et de l’utiliser:

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

imwrite(A,filename) écrit les données d'image A dans le fichier spécifié par nom de fichier, en déduisant le format de fichier à partir de l'extension.

0
jeremy_rutman