Matplotlib - Comment tracer un graphique à haute résolution?
J'ai utilisé matplotlib pour le traçage des résultats expérimentaux (discuté ici: Boucle sur les fichiers et de traçage. Toutefois, l'enregistrement de l'image en cliquant à droite de l'image donne de très mauvaise qualité des images en basse résolution.
from glob import glob
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
# loop over all files in the current directory ending with .txt
for fname in glob("./*.txt"):
# read file, skip header (1 line) and unpack into 3 variables
WL, ABS, T = np.genfromtxt(fname, skip_header=1, unpack=True)
# first plot
plt.plot(WL, T, label='BN', color='blue')
plt.xlabel('Wavelength (nm)')
plt.xlim(200,1000)
plt.ylim(0,100)
plt.ylabel('Transmittance, %')
mpl.rcParams.update({'font.size': 14})
#plt.legend(loc='lower center')
plt.title('')
plt.show()
plt.clf()
# second plot
plt.plot(WL, ABS, label='BN', color='red')
plt.xlabel('Wavelength (nm)')
plt.xlim(200,1000)
plt.ylabel('Absorbance, A')
mpl.rcParams.update({'font.size': 14})
#plt.legend()
plt.title('')
plt.show()
plt.clf()
Exemple de graphique de ce que je suis à la recherche de: exemple de graphique
source d'informationauteur esilik
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
savefig()
à l'exportation vers un fichier image:En outre, vous pouvez spécifier le
dpi
argument pour une valeur scalaire, par exemple:Vous pouvez enregistrer votre graphique svg pour une compression sans perte de qualité:
utilisation
plt.figure(dpi=1200)
avant que tous vosplt.plot...
et à la fin l'utilisationplt.savefig(...
voir: http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.figureet
http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.savefig
À la fin de votre () boucle, vous pouvez utiliser le
savefig()
fonction au lieu de plt.show() et définir le nom, le dpi et au format de votre figure.E. g. 1000 dpi et au format eps sont d'assez bonne qualité, et si vous souhaitez enregistrer chaque photo au dossier ./ avec des noms " Sample1.eps', 'Sample2.eps", etc. vous pouvez simplement ajouter le code suivant: