windrose图中的子图

时间:2019-07-14 13:46:45

标签: python matplotlib rose-diagram

我是python的初学者。通过遵循this示例,我尝试制作windrose子图,如:

enter image description here

但是我正在以这种方式获取剧情:

enter image description here

The code that I tried is: 
ws = np.random.random(500) * 6
wd = np.random.random(500) * 360

fig=plt.figure()
rect=[0,0.5,0.4,0.4] 
wa=WindroseAxes(fig, rect)
fig.add_axes(wa)
wa.bar(wd, ws, normed=True, opening=0.8, edgecolor='white')

fig1=plt.figure()
rect1=[0, 0.1, 0.4, 0.4]
wa1=WindroseAxes(fig1, rect1)
fig1.add_axes(wa1)
wa1.bar(wd, ws, normed=True, opening=0.8, edgecolor='white')

plt.show()

任何帮助/建议都值得赞赏。

1 个答案:

答案 0 :(得分:2)

要使子图水平,您需要在图形轴创建上切换数字。指定轴rect = [lowerleft_x,lowerleft_y,width,height]

还请注意,执行此操作时无需创建新图形。

ws = np.random.random(500) * 6
wd = np.random.random(500) * 360

fig=plt.figure()
rect=[0.5,0,0.4,0.4] 
wa=WindroseAxes(fig, rect)
fig.add_axes(wa)
wa.bar(wd, ws, normed=True, opening=0.8, edgecolor='white')

rect1=[0.1, 0, 0.4, 0.4]
wa1=WindroseAxes(fig, rect1)
fig.add_axes(wa1)
wa1.bar(wd, ws, normed=True, opening=0.8, edgecolor='white')

plt.show()