Ipywidget 下拉菜单到列表中的 select 图

Ipywidget dropdown menu to select figure from list

我有一份来自 glob.glob 的 csv 文件列表。每个 csv 用于生成一个图形。我想使用 ipywidget 下拉菜单,以便仅绘制选定的文件。

import glob
import pandas as pd
import ipywidgets as widgets
from IPython.display import display
from IPython.html.widgets import interactive

csvs = sorted(glob.glob('*/*csv'))
for csv in csvs:
    df = pd.read_csv(x, sep=',')
    plt.figure()
    df.plot()

因此下拉菜单将是

w = widgets.Select(options=csvs)
display(w)

如果这是唯一的方法,使用widgets.Button也是可以的。谢谢!

终于明白了

import glob
import ipywidgets as widgets
from IPython.display import display
from IPython.html.widgets import interactive

csvs = sorted(glob.glob('*/*csv'))

def plot(x=csvs[0]):
    dfs = pd.read_csv(x, sep=',')
    dfs.plot(figsize=(12, 8))

w = widgets.Select(options=csvs)
interactive(plot, x=w)

现在有人知道为什么当我将笔记本导出到 html 时小部件没有保留吗?