Ich habe mit Matplotlib herum gespielt und ich kann nicht herausfinden, wie man die Hintergrundfarbe des Diagramms ändert, oder wie man den Hintergrund völlig transparent macht.Wie man die Deckkraft der Hintergrundfarbe des Graphen mit Matplotlib setzt
Antwort
Wenn der gesamte Hintergrund sowohl für die Figur als auch für die Achsen transparent sein soll, können Sie einfach transparent=True
angeben, wenn Sie die Figur mit fig.savefig
speichern.
z.B .:
import matplotlib.pyplot as plt
fig = plt.figure()
plt.plot(range(10))
fig.savefig('temp.png', transparent=True)
Wenn Sie mehr feinkörnige Steuerung möchten, können Sie einfach die facecolor und/oder Alpha-Werte für die Figur gesetzt und Achsen Hintergrund Patch. (Um einen Patch vollständig transparent zu machen, können wir entweder setzen Sie die Alpha auf 0, oder setzen Sie die facecolor zu 'none'
(als String, nicht das Objekt None
)!)
zB:
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()
Die 'facecolor' auf' none' zu setzen, funktionierte nicht für mich; Einstellung "Alpha" auf "0,0" tat. –
Funktioniert nicht für 'Grundkarte' –
facecolor/set_facecolor? – crnlx
Aber wie benutze ich set_facecolor? –