Предположим, мы создаем две фигуры, которые нам нужно заполнить в цикле.Вот игрушечный пример (который не работает):
import matplotlib.pyplot as plt
import numpy as np
fig,ax = plt.subplots(2,2)
fig1,ax1 = plt.subplots(2,2)
for i in np.arange(4):
ax = plt.subplot(2, 2, i+1)
sns.distplot(np.random.normal(0,1,[1,100]), ax=ax)
ax1 = plt.subplot(2, 2, i+1)
sns.distplot(np.random.normal(-1,1,[1,100]),color='r', ax=ax1)
Это не работает, так как ax = plt.subplot(25, 4, i+1)
будет просто ссылаться на последнюю созданную фигуру (fig1), которая в настоящее время активна, и ax1 = plt.subplot(25, 4, i+1)
будетпросто создайте другой объект, относящийся к той же позиции, что приведет к созданию двух графиков в одной и той же позиции.
Итак, как мне изменить активную фигуру?
Я посмотрел на этот вопрос но мне не удалось заставить его работать для моего случая.
Токовый выход
Код приводит к пустому fig
и отображает все в fig1
Желаемый вывод
Вот как это должновести себя:
fig
fig1