绘制极区图

首先创建一个直方图,将360度分为八个面元,每个面元为45度,把所有数据分到这八个面元中

hist, bins = np.histogram(df_ravenna['wind_deg'],8,[0,360])
print(hist)
print(bins)
[ 0 5 11 1 0 1 0 0]
[ 0. 45. 90. 135. 180. 225. 270. 315. 360.]


以上histogram()函数返回的结果中,hist表示落在每个面元的数据点的数目,bins表示将【0,360】分割成8个面元的9条边界

以ravenna为例

N = 8
# 数据角度
theta = np.arange(0.+np.pi/8,2*np.pi+np.pi/8,2*np.pi/8)
# 数据极径
radii = np.array(hist)
# 绘制极区图坐标系,此处的[0,0,1,1]为极坐标图所在位置下面坐标limit[xmin,ymin,xmax,ymax]
plt.axes([0,0,1,1],polar=True)
# 定义每个扇区的RGB值(R,G,B),x越大,对应的颜色越接近蓝色
colors = [(1-x/max(hist), 1-x/max(hist),0.75) for x in radii]
plt.bar(theta,radii,width=(2*np.pi/N),bottom=0.0,color=colors)
plt.title("Ravenna",x=0.2,fontsize=20)

 

posted on 2020-04-10 18:56  蝶影漫舞  阅读(3505)  评论(0编辑  收藏  举报