Совместное использование осей Matplotlib Subplot: Применимо к любому другому сюжету? - PullRequest
1 голос
/ 02 ноября 2019

Я пытаюсь найти способ применить параметры общих осей subplot () к каждому другому графику в серии вспомогательных участков.

У меня есть следующий код, который использует данные из RPM4, основанный на строках в fpD

fig, ax = plt.subplots(2*(fpD['name'].count()), sharex=True, figsize=(6,fpD['name'].count()*2),
                      gridspec_kw={'height_ratios':[5,1]*fpD['name'].count()})

for i, r in fpD.iterrows():
    RPM4[RPM4['name'] == RPM3.iloc[i,0]].plot(x='date', y='RPM', ax=ax[(2*i)], legend=False)
    RPM4[RPM4['name'] == RPM3.iloc[i,0]].plot(kind='area', color='lightgrey', x='date', y='total', ax=ax[(2*i)+1], 
                                                  legend=False,)
    ax[2*i].set_title('test', fontsize=12)

    plt.tight_layout()

, который производит вывод, очень близкий к тому, что мне нужно. Он перебирает столбец «имя» в таблице и создает два графика для каждого, и отображает их в виде вспомогательных участков:

enter image description here

Как видите,параметр sharex отлично подходит для меня, так как я хочу, чтобы все графики имели одну и ту же ось.

Однако мне бы очень хотелось, чтобы все четные (большие) графики разделялисьту же ось y, и для нечетных (маленькие серые) графики все имеют общую ось y.

Любая помощь в достижении этого очень ценится, спасибо!

...