У меня есть два сюжета, которые я хотел бы сделать интерактивными с виджетами ipython. Код ниже является упрощенным образцом того, что я пытаюсь сделать.
import matplotlib.pyplot as plt
import IPython.html.widgets as wdg
def displayPlot1(rngMax = 10):
plt.figure(0)
plt.plot([x for x in range(0, rngMax)])
wdg1 = wdg.interactive(displayPlot1, rngMax = wdg.IntSlider(20))
def displayPlot2(rngMax = 10):
plt.figure(1)
plt.plot([x**2 for x in range(0, rngMax)])
wdg2 = wdg.interactive(displayPlot2, rngMax = wdg.IntSlider(10))
wdg.ContainerWidget([wdg.HTML("""<h1>First Plot</h1>"""),
wdg1,
wdg.HTML("""<h1>Second Plot</h1>"""),
wdg2])
Первая проблема заключается в том, что она сначала отображает все виджеты, и два графика один за другим в конце:
title1
widget1
title2
widget2
plot1
plot2
Я бы хотел:
title1
widget1
plot1
title2
widget2
plot2
Также кажется, что весь вывод будет перезаписан, как только я коснусь любого из слайдеров, и отобразит только один сюжет (тот, который я меняю).
Как исправить эту проблему? (Я могу это сделать, если я разберу их на две разные ячейки, однако я планирую сделать что-то более сложное и в конечном итоге должен быть в одной ячейке)