2011-03-14 86 views
4

如何向我的條形圖添加漸變facecolor?我想知道如何使用簡單的單色漸變來複雜的多色漸變。下面是一些示例代碼:漸變facecolor matplotlib條形圖

import numpy as np 
import matplotlib.pyplot as plt 

plt.figure(figsize=(1,5)) 
plt.axis([0,1,-50,200]) 
plt.xticks([]) 
plt.yticks([-40,180]) 
plt.bar(left=0, width=1, bottom=-40, height=220, color='r') 
plt.subplots_adjust(left=0.4, right=0.8) 
plt.savefig("test.png") 

回答

7
import numpy as np 
import matplotlib as mpl 
import matplotlib.pyplot as plt 

# http://matplotlib.sourceforge.net/examples/api/colorbar_only.html 

fig=plt.figure(figsize=(1,5)) 
ax=fig.add_subplot(111) 
ax.axis([0,1,-50,200]) 
cmap = mpl.cm.jet 
norm = mpl.colors.Normalize(vmin=-40, vmax=180) 
cb1 = mpl.colorbar.ColorbarBase(ax, cmap=cmap, 
           orientation='vertical',         
           norm=norm, 
           ticks=[-40,180] 
           ) 

plt.subplots_adjust(left=0.4, right=0.8) 
plt.show() 

enter image description here