Enregistrer matplotlib parcelle en niveaux de gris
J'ai un peu de couleur parcelles que j'ai besoin d'être sauvé en niveaux de gris. Est-il un moyen facile de le faire sans modifier le tracé des formats?
- Il y avait une discussion autour de, voir le convertir de la figure de la couleur à PC/en niveaux de gris. Ne sais pas si le
set_gray
attribut est disponible ou non dans la dernière version de matplotlib. - Vous pouvez utiliser imagemagick par la suite:
convert -type Grayscale old.png new.png
je pense qu'il y a déjà quelque chose de TELLEMENT cf link
Vous devez vous connecter pour publier un commentaire.
En fait, cela a été demandé avant. Voici une bien jolie réponse, qui vient 2ème sur google (aujourd'hui):
Affichage de l'image en échelle de gris à l'aide de matplotlib
Et la solution est TRÈS similaire à Suki...
Oh, eh bien, je m'ennuie, donc je poste ici aussi plein soufflé code:
Ceci va produire un graphique en couleur, que de le lire, de les convertir en niveaux de gris, et d'enregistrer un png et pdf.
Il est actuellement difficile à faire directement à partir de matplotlib, mais dans "l'avenir" ils plan à l'appui d'une
set_gray(True)
appel sur la figure (voir la liste de diffusion thread ici).Vos meilleures options seront pour l'enregistrer dans la couleur et le convertir, soit en python avec PIL:
ou en ligne de commande avec imagemagick:
Je suis aux prises avec ce problème aussi. Aussi loin que je peux dire, matplotlib ne prend pas en charge directe de la conversion en niveaux de gris, mais vous pouvez enregistrer un fichier pdf couleur et la convertir en niveaux de gris avec ghostscript:
Il y a une solution simple:
Et pour ajouter à Mu l'Esprit de la solution
Si, pour quelque raison que ce soit vous voulez éviter de l'écrire dans un fichier, vous pouvez utiliser StringIO comme un fichier: