我希望有一个类似于%matplotlib notebook
魔法命令的比喻,用于matplotlib
绘图。它在右上方有一个“电源按钮”,点击后,UI消失,输出变成最终视图的PNG图片。
假设我有一个使用整数滑块值来过滤数据框的函数:
from ipywidgets import interact
# df = pd.read_csv('...')
@interact(zone=(-1, 12))
def show(zone):
if zone > 0:
return df[df.ZoneId == zone] # show filtered results
if zone == 0:
return df # show all results
# HERE: I want to exit the interaction, and make the int slider disappear, and the whole
# of df to become the rendered output
我尝试创建一个滑块并将其绑定到某个东西:
zone_slider = IntSlider(0, -1, 12)
@interact(zone=zone_slider)
def show(zone):
# ...
zone_slider.close() # slider disappears, but output is still the same `interactive`.
我希望输出结果能够与笔记本一起保存,并且在关闭笔记本并使用新内核打开时,无需运行任何代码(也不需要交互),即可显示结果。目前,它只会显示为
interactive(children=[IntSlider(...), Output(...)], ...)
。我希望有一个通用的解决方案(即在例如
Checkbox
变为True
时结束任何交互)。我不确定是否可以在不借助更低级别的ipywidgets.interactive
函数或interact_manual
的情况下实现这一点,但我对如何使用这些函数不是很清楚。
interactive(children...)
”。是这样吗?还是你只对其中一个部分感兴趣?或者我完全理解错了? - caxcaxcoatlIPython.display(<value returned from the decorated function)
所替代。提到MPL仅因为他们的“notebook”后端做了类似的事情。我已经联系了ipywidgets
的作者,他们说目前不存在这样的方法(所以我浪费了一些赏金...真倒霉)。然而,保存小部件的状态在打开笔记本时具有“可见结果”的作用。 - Tomasz Gandor