matplotlib, savefig: PPP paramètre est ignoré
Je ne peux pas trouver quelqu'un d'autre à ce problème. Dans matplotlib, vous pouvez afficher vos parcelles en utilisant soit la méthode show() ou savefig(). Ces générer légèrement différente des images; dans mon cas, le savefig() l'image est plus laid et le plus difficile à comprendre. J'ai besoin de rendre la vie facile pour mon examinator, donc..
J'ai trouvé quelques sujets qui m'a suggéré de définir la résolution de la taille de celui de show(). J'ai essayé:
-> Paramètre savefig.dpi directement avec matplotlib.rcParams['savefig.dpi'] = 80.
-> Paramètre savefig.dpi directement dans ~/.matplotlib/matplotlibrc.
-> Déplacer mon fichier rc à la MDC.
-> Enfin, à l'aide de savefig('image.pdf', ppp=80)
Je peux vérifier que l'attribut est en effet se définir; mais il semble que le paramètre est igored par savefig(). Quelqu'un peut-il aider?
(Simplifié) code:
plt.bar(ind, functimes, yerr=stddev, bottom=0, width=barWidth, align='center', color='b')
ax = plt.gca()
ax.legend(barRcts, barLegend)
plt.title("Function Call Overhead")
plt.xlabel("Function ID")
plt.ylabel("Execution Time [us]")
plt.xticks(ind, funcNames)
figtest.autofmt_xdate()
plt.savefig(out_file, dpi=80, format='pdf')
matplotlib
enregistrepdf
fichiers en format vectoriel. Sauf si vous avez des images bitmap dans il y, le DPI est plutôt vide de sens dans un vecteur d'image, car ils sont indépendants de la résolution.- Aha, je comprends. Donc, il n'y a aucun moyen d'enregistrer des images pdf avec savefig() de sorte qu'ils sont identiques à celles que vous pouvez enregistrer (manuellement) avec show()?
- Ils doivent être identiques. La seule différence peut-être si vous redimensionnez la figure avant de l'enregistrer. Mais vous pouvez également définir la taille de votre figure (
figure((width, height))
) etsavefig
va l'utiliser. - Yup, qu'il a fait. Merci beaucoup, m'a sauvé de nombreuses et précieuses heures 🙂
Vous devez vous connecter pour publier un commentaire.
PDF saving utilise le paramètre PPP pour la résolution de l'image dans le PDF, pas pour n'importe quelle ligne/polygone de la résolution (qui est vide de sens dans un format vectoriel).
Si votre heureux avec la sortie sur l'écran, et n'ont pas besoin d'avoir une solution évolutive graphique, l'enregistrement au
png
est probablement pas un problème.contourf
(par exemple), vous obtenez une image raster à l'intérieur de votre pdf/svg, afin que le dpi est significatif de nouveau.