2013-02-05 7 views
1

dans MATLAB vous pouvez éditer, si nécessaire, les fichiers de chiffres (.fig) - existe-t-il une fonctionnalité similaire en utilisant pylab?Modifier la figure créée avec pylab

Je peux créer l'image que j'ai besoin, mais il apparaît comme .png que je ne contrôle pas - si je pouvais modifier sligthly il (par exemple pour déplacer la légende sur le côté, ou modifier les étiquettes) serait grande

+0

Pour modifier la couleur 'matplotlib.rc (labelcolor = 'w')'. Pour l'écrire, faites 'depuis matplotlib import pyplot' puis' pyplot.xlabel ('texte axe X') '. Idem pour l'axe y. Pour changer le type de fichier, je ne sais pas si c'est possible. –

+0

en ce moment il n'y a rien comme les fichiers de chiffres. Toutefois, si vous enregistrez au format PDF, il devrait être possible de modifier au moins les étiquettes avec des applications externes. Je ne sais pas s'il est possible d'obtenir quelque chose de similaire à ce que vous voulez en utilisant [pickle] (http://docs.python.org/2/library/pickle.html) –

+0

merci les gars, y at-il une option pour enregistrer comme .svg? – Dimitris

Répondre

0

Si vous voulez enregistrer votre intrigue et le modifier ultérieurement, vous devriez essayer les conseils donnés dans ce thread

Si votre parcelle est toujours actif dans une coquille de python [I], vous pouvez modifier toutes les propriétés et faire redessiner . L'exemple suivant est pour déplacer la légende de l'emplacement par défaut vers l'angle supérieur droit après l'examen.

In [51]: import numpy as np 

In [52]: import pylab as pl 

In [53]: v = np.arange(10) 

In [54]: pl.figure(1) 
Out[54]: <matplotlib.figure.Figure at 0x253a250> 

In [55]: # if needed, use pl.figure(1) again to make it active 

In [56]: pl.plot(v) 
Out[56]: [<matplotlib.lines.Line2D at 0x456a450>] 

In [60]: pl.legend('v') 
Out[60]: <matplotlib.legend.Legend at 0x4591150> 

In [61]: pl.show(block=False) 

In [62]: # keyword block=False to issue further commands 

In [63]: pl.legend('v',loc=2) 
Out[63]: <matplotlib.legend.Legend at 0x45962d0> 

In [64]: pl.show(block=False) 

In [67]: # now the legend is in the upper right corner 
+0

merci - c'est une bonne suggestion que je pourrais utiliser - mais quand j'utilise le bloc = mot clé false l'image n'apparaît pas (je viens d'essayer votre exemple) - J'aimerais voir l'image avant de l'éditer - est-ce que je fais quelque chose de mal? – Dimitris

+0

Comment avez-vous exécuté ce script? Cela devrait fonctionner quand vous êtes dans un shell Ipython. – Jan

Questions connexes