使用for loop在一系列子图中绘制每个图上的多个数据

2024-10-06 11:24:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用plt.subplots()在一个大系列的子地块上绘制多个标高的风速和风向

我有:

fig, axes=plt.subplots(n=levels,figsize=(20,30),sharex=True)
for i in range(levels):
     axes[i].plot(time,wind_speed[:,i])

如何在每个子地块上添加第二个y轴,以便在每个标高的同一地块上绘制风速和风向?我不明白如何添加第二个轴第二个轴不能以这种方式枚举

每个图的x轴相同,但风速在直线图(左y轴)上,风向为点(右y轴)twinx可以工作,但Python不喜欢在for循环中使用迭代时使用twinx

我试过axes[0][i]=axes[i].twinx 我还尝试用for j...做另一个嵌套的for loop来做axes[j]=axes[i].twinx。所有这些都不起作用


Tags: trueforfig绘制pltlevelsaxes地块
1条回答
网友
1楼 · 发布于 2024-10-06 11:24:32

没有任何信息,对您的问题了解有限,但我想这可能会:

输入参数:sharex = True允许您在子批次之间保持相同的轴

我的理解是,在一个绘图中,您需要一个左右y轴:


fig, axes=plt.subplots(n=levels,figsize=(20,30),sharex=True)
for i in range(levels):
     axes[i].plot(time, wind_speed[:, i])
     ax2 = axes[i].twinx()
     ax2.plot(time, wind_direction[:, i])


相关问题 更多 >