import numpy as np
import matplotlib.pyplot as plt
def drawBarOnPolar():
a=[i*np.pi/18 for i in range(1,37)]
b =sorted([i for i in range(1,37)],reverse=True)
width = np.pi / 24
cs = [plt.cm.cool(i / float(36)) for i in range(36)]
fig,ax=plt.subplots(figsize=(9,9))
ax = plt.subplot(111, polar=True)
# bar图使用polar投影时,在原bar的基础上要加上pi,得到的才是圆中的位置
ax.bar(a,b,width=np.pi/18, bottom=0.0,alpha=0.4,align='edge',color=cs,edgecolor='white')
ax.set_xlim(0,np.pi*2)
ax.set_ylim(0,36)
# ax.set_xticks([])
# ax.set_yticks([])
plt.setp(ax.get_xticklabels(), visible=False)
plt.setp(ax.get_yticklabels(), visible=False)
ax.grid(False,color='black',linestyle=':',linewidth=0.5)
plt.thetagrids([i*180/np.pi for i in a],b)
# plt.axis('off')
plt.subplots_adjust(0.05,0.05,0.95,0.95)
# plt.savefig('pieonpolar.jpg')
drawBarOnPolar()