Comment définir l'opacité de la couleur de fond du graphique avec Matplotlib
J'ai joué avec Matplotlib et je n'arrive pas à comprendre comment changer la couleur d'arrière-plan du graphique, ou comment rendre l'arrière-plan complètement transparent.
54
demandé sur
Chris Seymour
2011-01-03 04:26:23
1 réponses
Si vous voulez juste que l'arrière-plan entier de la figure et des axes soit transparent, vous pouvez simplement spécifier transparent=True
lors de l'enregistrement de la figure avec fig.savefig
.
Par exemple:
import matplotlib.pyplot as plt
fig = plt.figure()
plt.plot(range(10))
fig.savefig('temp.png', transparent=True)
Si vous voulez un contrôle plus fin, vous pouvez simplement définir les valeurs facecolor et / ou alpha pour le patch d'arrière-plan figure et axes. (Pour rendre un patch complètement transparent, nous pouvons soit définir l'alpha à 0, soit définir la facecolor à 'none'
(comme une chaîne, pas l'objet None
!))
Par exemple:
import matplotlib.pyplot as plt
fig = plt.figure()
fig.patch.set_facecolor('blue')
fig.patch.set_alpha(0.7)
ax = fig.add_subplot(111)
ax.plot(range(10))
ax.patch.set_facecolor('red')
ax.patch.set_alpha(0.5)
# If we don't specify the edgecolor and facecolor for the figure when
# saving with savefig, it will override the value we set earlier!
fig.savefig('temp.png', facecolor=fig.get_facecolor(), edgecolor='none')
plt.show()
84
répondu
Joe Kington
2011-01-16 21:01:42