强制Python重叠y轴

时间:2018-11-20 22:35:48

标签: python matplotlib subplot

我有5个子图,它们共享x轴和y轴左右交替。我希望做的(但似乎无法弄清楚)是如何允许子图相互重叠,以进一步减小绘图数据之间的空间。我目前正在通过调用每个轴(下面的示例)来操纵每个子图

f, (ax1, ax2, ax3, ax4, ax5) = plt.subplots(5, sharex=True, gridspec_kw=  {'hspace':0}, figsize = (9,12))    
    ax1.scatter(age_1, dD, facecolor='grey')
    ...
    ax2.plot(data,data) 
    ...

我不确定是否可以使用此子图方法实现此目的,但是,我无法使用另一种创建子图的方法来移除底部和顶部的“脊线”(以下示例)。

plt.figure(sharex=True,figsize=(9,11))
    plt.subplot(5,1,1)
    plt.scatter(age_1, dD, facecolor='grey')
    ...

我很乐意收到面临这一困境的人的任何反馈意见,谢谢!

1 个答案:

答案 0 :(得分:0)

很难让这5个子图与x轴匹配,同时又保留为5个单独的子图。

因此,正如评论中提到的@ Patol75,我认为您可以考虑的另一种方法是将它们放在一个图中,因为数据共享一个公共轴。

dataSet = [age_1, age_2, age_3, age_4, age_5] # I assume that's the data
colorSet = ['r', 'g', 'b', 'm', 'y'] #or other color
for age, color in zip(dataSet, colorSet):
    plt.scatter(age_1, dD, facecolor = color)

如果y数据的大小太大,则可以将其规格化以将它们收集在一起。