如何获得多个子图的多个比例?

时间:2017-08-20 22:17:55

标签: python matplotlib plot subplot

我知道要为单个地块获取多个尺度,您可以使用:

fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
ax1.plot(range(0,20,2))
ax2.plot(range(10))

但是,我需要为四个子图做到这一点。所以,当我尝试类似的东西时:

fig, ax = plt.subplots(nrows=2, ncols=2)
for row in ax:
    for col in row:
        fig1, ax1 = col.subplots()
        ax2 = ax2.twinx()
        ax1.plot(range(0,20,2)
        ax2.plot(range(10))

我收到错误

'AxesSubplot' object has no attribute 'subplots'

,这是有道理的,但我不知道如何解决它。

1 个答案:

答案 0 :(得分:0)

在问题的代码中,col将是创建双轴的轴,即ax2 = col.twinx()

fig, ax = plt.subplots(nrows=2, ncols=2)
for row in ax:
    for col in row:
        ax2 = col.twinx()
        col.plot(range(0,20,2)
        ax2.plot(range(10))