2011-01-03 4 views

Antwort

78

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() 

alt text

+3

Die 'facecolor' auf' none' zu setzen, funktionierte nicht für mich; Einstellung "Alpha" auf "0,0" tat. –

+1

Funktioniert nicht für 'Grundkarte' –

Verwandte Themen