除非用户与小部件交互,否则 ipywidgets 不会显示绘图。我该如何解决这个问题?也许如果我可以使用一些代码更新 slider 值,该图就会显示出来。我认为只有在使用 Layout 配置方法时才会出现此问题。
import numpy as np
from matplotlib import pyplot as plt
from ipywidgets import interactive, fixed, FloatSlider, HBox, Layout
from IPython.display import display
ts = np.arange(0.0, 5.0, 0.01)
def plotFunc(omega):
plt.plot(ts, np.cos(omega*ts))
w = interactive(plotFunc, omega = FloatSlider(min = 0, max = 12, step = 1, value = 6, orientation = 'vertical'))
box_layout = Layout(display = 'flex', flex_flow = 'row', justify_content = 'center', align_items = 'center')
display(HBox([w.children[-1], w.children[0]], layout = box_layout))
最佳答案
为使用 IPython Notebook 启用内联后端:
%matplotlib inline
这在你的代码的末尾:
w.update()
这里有一些解释:
%matplotlib inline
commands IPython Documentation ,
还有IPython.display.set_matplotlib_formats
和 IPython.display.set_matplotlib_close
有关更改内联后端的其他行为的更多信息。
关于jupyter-notebook - ipywidgets 在交互前不显示情节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54549908/