2011-03-14 252 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