Windrose 图中的子图

bik*_*ser 2 python matplotlib windrose rose-plot

我是Python的初学者。通过遵循这个示例,我尝试制作 Windrose 子图,例如:

在此输入图像描述

但我以这种方式得到情节:

在此输入图像描述

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()
Run Code Online (Sandbox Code Playgroud)

任何帮助/建议表示赞赏。

Ben*_*enT 5

要使子图处于水平位置,您需要切换图形轴创建上的数字。指定轴时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()
Run Code Online (Sandbox Code Playgroud)