2011-01-03 21 views
50
Ben Matplotlib ile oynamak oldum

arka plan renginin opaklığını ayarlamak ve ben grafikte, ya da ne kadar arka plan tamamen şeffaf hale getirmek için arka plan rengini değiştirmek için nasıl bilemiyorum nasıl.grafik zekâ Matplotlib

+0

facecolor/set_facecolor? – crnlx

+4

Ancak set_facecolor'u nasıl kullanırım? –

cevap

78

Hem şekil hem de eksenler için arka planın tamamının şeffaf olmasını istiyorsanız, fig.savefig ile bu rakamı kaydederken transparent=True belirtmeniz yeterlidir.

ör .:

import matplotlib.pyplot as plt 
fig = plt.figure() 
plt.plot(range(10)) 
fig.savefig('temp.png', transparent=True) 

daha ince taneli denetim istiyorsanız, sadece şekil için facecolor ve/veya alfa değerlerini ayarlamak ve arka plan yama eksenleri olabilir. (Biz 0'a alfa ayarlayın veya bir dize değil, nesne None olarak ('none' için facecolor ayarlayabilirsiniz ya bir yama tamamen şeffaf hale getirmek için)!)

örn:

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

'facecolor 'öğesini' 'none' 'olarak ayarlamak benim için çalışmadı; 'alfa' '0.0' ayarını yaptı. –

+1

"Basemap" için çalışmıyor –