一个阵列子图中的不同y轴

时间:2017-02-07 14:15:26

标签: python matplotlib subplot

我不知道如何告诉matplotlib在数组子图的一个特殊子图中使用不同的轴:

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

def plotter():
    y=np.random.rand(10)
    y1 = np.random.rand(10)*100
    x = np.arange(len(y))

    f, axarr = plt.subplots(2,2,sharex=True) 
    axarr[0][0].errorbar(x,y,)
    axarr[0][0].errorbar(x,y1)
    axarr[1][1].twinx()
    axarr[1][1].errorbar(x,y)
    axarr[1][1].errorbar(x,y1)
    plt.show()

plotter()

这给出了: enter image description here 问题是我的一个数据集大了一百倍,所以在同一个y轴上绘制它们是没用的。我想要的右下方面板(仅适用于此面板)是一个y轴,其范围从图表右侧的(0,10)到另一侧的范围(0,100)。蓝线应由右(0,10)y轴表示,而蓝线应由左(0,100)y轴表示

1 个答案:

答案 0 :(得分:0)

这样做的一种方法是:

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

def plotter():
   y=np.random.rand(10)
   y1 = np.random.rand(10)*100
   x = np.arange(len(y))

   f, axarr = plt.subplots(2,2,sharex=True) 
   axarr[0][0].errorbar(x,y,)
   axarr[0][0].errorbar(x,y1)
   axarr[1][1].errorbar(x,y)
   ax2 = axarr[1][1].twinx()
   ax2.plot(x,y1, 'r')
   #ax2.tick_params('y', colors='r')
   plt.show()


plotter()

这给出了这个:

enter image description here