gpt4 book ai didi

python - 退出 ipywidgets 交互/交互以在 jupyter notebook 中产生最终输出

转载 作者:行者123 更新时间:2023-12-03 23:50:18 25 4
gpt4 key购买 nike

我想和 %matplotlib notebook 做一个类比。 matplotlib 的魔法情节。它在右上角有一个“电源按钮”——点击它后,UI 消失,输出变成最终 View 的 PNG。

假设我有一个函数可以使用 int slider 中的值过滤数据框:

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

我尝试创建 slider 并将其绑定(bind)到某些东西:
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`.

我希望输出与笔记本一起保存,并且(在关闭笔记本并使用新内核打开它之后)无需运行任何代码(也不进行交互)即可显示。现在它只显示为 intearctive(children=[IntSlider(...), Output(...)], ...) .

我想要一个通用的解决方案(完成任何交互,例如,当 Checkbox 变为 True 时)。我不确定是否可以不求助于较低级别 ipywidgets.interactive函数或 interact_manual ,但我不知道如何使用这些。

最佳答案

1 - 您如何以编程方式删除 UI 并仅保留输出

你可以适应this answer隐藏/显示小部件。在 code_toggle函数,您可以添加如下代码:

$('div.widget-slider').hide();

您必须为您使用的每种类型的小部件执行此操作。不要忘记添加 .show()也是。

2 - 如何在保存的笔记本上保留交互式输出,而不是 'interactive(children...' .

我找到了一个更具体的问题,没有答案,我回答了 here .基本上,从菜单项 Widgets → Save Notebook Widget State 调用操作是一种技巧。

关于python - 退出 ipywidgets 交互/交互以在 jupyter notebook 中产生最终输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59025215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com