Сюжет Matplotlib twinx в пределах al oop и индексированных осей - PullRequest
0 голосов
/ 21 января 2020

У меня есть список функций, которые я хотел бы представить в MatplotLib. Я строю каждый из них в пределах al oop, как показано в коде ниже. Количество элементов подплота контролируется размером списка

feat_list = ['A', 'B', 'C', 'D']

f, ax = plt.subplots(len(feat_list), 1, figsize = (12,20), dpi = 300)

for idx, feat in enumerate(feat_list):
    X = data['domain']
    y = data[feat]
    ax[idx].plot(X,y, 'b.')

Для каждого подплота я хотел бы добавить дополнительную ось. Поскольку субплоты создаются в пределах For l oop, индекс оси контролируется положением в списке из метода перечисления. Однако при добавлении вторичной оси я даю этому новому индексу, который больше длины списка, чтобы избежать перезаписи других вспомогательных участков, используя следующий код:

axsec = idx+len(feat_list)
ax[axsec] = ax[idx].twinx()
sns.kdeplot(X, data['time'] ,cmap="Reds", shade=True, shade_lowest=False, ax = ax[axsec])

Однако, когда я запускаю это, он выдает ошибку индекса, так как номер индекса больше, чем определено в вызове plt.subplots. Итак, как я могу автоматически добавить вторичную ось без увеличения размера строки в вызове plt.subplots?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...