Вы захотите обратиться к назначенной переменной для каждого графика, а затем добавить .fig
после этого, чтобы снова отобразить ее в ячейке блокнота Jupyter.
В частности, в вашем случае вы бы указали graph_p_changes.fig
или graph_p_contrib.fig
в ячейке и выполнили бы эту ячейку, чтобы снова увидеть отдельный график.
Это похоже на то, как вы можете показать CabterGrids Seaborn снова, см. здесь . Поскольку заголовок вашего вопроса гласил «графики морского волка», я добавлю для полноты картины, это не касается таких графиков, как линейный график Сиборна (lineplot
) или гистограмма (barplot
), которые дают AxesSubplot
объекты. Там вы используете .figure
, например, ax.figure
, чтобы вызвать большинство примеров, перечисленных в Документация линейного графика Seaborn .
Пример catplotts с кодом
This использует пример кода из здесь и документации по catblot seaborn (см. ниже) для создания двух графиков. Если бы этот код находился в одной ячейке, а затем эта ячейка была запущена, вы бы увидели два графика в выходных данных под ним.
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
titanic = sns.load_dataset("titanic")
exercise = sns.load_dataset("exercise")
g = sns.catplot("alive", col="deck",
col_wrap=3, data=titanic[titanic.deck.notnull()],
kind="count", height=2.5, aspect=.8)
another_plot = sns.catplot(x="time", y="pulse", hue="kind", data=exercise)
Позже каждый из них может быть снова отображен отдельно в виде вывода других ячеек с g.fig
или another_plot.fig
, в зависимости от того, какой график вы хотите показать.
Кроме того, я предложу улучшить жизнеспособность вашего долгосрочного кода, вы можете перейти к использованию catplot
в ваших графических вызовах, как это factorplot
теперь называется в Seaborn. См. здесь , где говорится, что «factorplot все еще существует и передаст свои аргументы в catplot () с предупреждением. В конечном итоге он может быть удален, но переход будет настолько постепенным, насколько это возможно».
ОБНОВЛЕНИЕ:
ОП отметил, что необходим код, позволяющий выводить stdout / stderr с вкраплениями с графиками в точных точках этого потока, а не только в конце.
По какой-то причине сюжеты Seaborn (даже простые линейные сюжеты), похоже, не «правильно» захватываются с помощью io.capture_output()
, и поэтому мне пришлось использовать команду %%capture
cell magi c в производящую ячейку и объединяем выход в отдельную ячейку. Тем не менее, графики Plotly, которые я пробовал на основе примера кода , фиксируются io.capture_output()
и позволяют поверхностно смешивать все в одной и той же ячейке. Это все проиллюстрировано на примере записной книжки здесь ; Лучше всего просматривать в stati c form здесь , поскольку Github не отображает графики Plotly, в то время как nbviewer делает. В верхней части этой записной книжки находится ссылка, по которой вы можете запустить активную сессию Jupyter, где она будет работать.