Заставить Python перекрывать ось Y

У меня есть 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 ответ

Трудно допустить, чтобы эти 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)

Если у-данные слишком велики, вы можете их нормализовать, чтобы собрать их вместе.

Другие вопросы по тегам