J'utilise matplotlib pour créer des graphiques et, malheureusement, je ne peux pas les exporter sans fond blanc.
En d’autres termes, lorsque j’exporte un tracé de ce type et le positionne au-dessus d’une autre image, l’arrière-plan blanc masque ce qui se cache derrière celui-ci au lieu de le laisser transparaître. Comment puis-je exporter des parcelles avec un arrière-plan transparent à la place?
Utilisez la fonction matplotlib savefig
avec le mot-clé argument transparent=True
pour enregistrer l'image en tant que fichier png.
In [30]: x = np.linspace(0,6,31)
In [31]: y = np.exp(-0.5*x) * np.sin(x)
In [32]: plot(x, y, 'bo-')
Out[32]: [<matplotlib.lines.Line2D at 0x3f29750>]
In [33]: savefig('demo.png', transparent=True)
Résultat:
Bien sûr, ce complot ne démontre pas la transparence. Voici une capture d'écran du fichier PNG affiché à l'aide de la commande ImageMagick display
. Le motif en damier est l'arrière-plan visible à travers les parties transparentes du fichier PNG.
Les fichiers .png peuvent gérer la transparence. Vous pouvez donc utiliser cette question Sauvegarder le tracé dans un fichier image au lieu de l’afficher avec Matplotlib afin de sauvegarder votre graphique sous forme de fichier png
.
Et si vous voulez rendre tous les pixels blancs transparents, il y a cette autre question: tiliser PIL pour rendre tous les pixels blancs transparents?
Si vous voulez rendre une zone entière transparente, posez la question suivante: Et utilisez ensuite la bibliothèque PIL comme dans cette question Python PIL: comment rendre la zone transparente en PNG? afin de créer votre graphique transparent.