Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gradient facecolor matplotlib bar plot

How do I add a gradient facecolor to my bar plots? I want to know how to use simple one-color gradients to complex multicolor gradients. Here is some example code:

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")
like image 297
Kit Avatar asked Mar 14 '11 08:03

Kit


1 Answers

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

like image 95
unutbu Avatar answered Oct 10 '22 01:10

unutbu