У меня есть список функций, которые я хотел бы представить в 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
?
Спасибо.