如何在ipywidgets Python的选项卡中显示interact()

时间:2017-12-26 15:57:45

标签: python tabs widget ipywidgets

我正在尝试在ipywidget选项卡中显示交互功能。下面的代码是我尝试这样做但我只看到下拉列表但是没有显示图。我还单独包含了interact()函数,以显示它在tab中的工作方式。对此有任何帮助非常感谢。谢谢。

from ipywidgets import *
import seaborn.apionly as sns
df = sns.load_dataset('iris')

#plot
def plot_image(x):

    data = df

    if x != 'Select':
        xplot = data[x]
        sns.distplot(xplot)
        plt.show()

#define widgets
x = widgets.Dropdown(
        options=df_cols,
        value=df_cols[0],
        description='X'
    )

x.set_title  = 'x'

#assign widgets to tabs
tab_visualise = widgets.HBox([x])

#create tabs
tab_nest = widgets.Tab()
tab_nest.children = [tab_visualise]
tab_nest.set_title(0, 'Visualise')
tab_nest

#interact function in isolation
interact(plot_image, x = x)

1 个答案:

答案 0 :(得分:2)

尝试使用交互式代替。这将返回输入和输出小部件,您可以将它们合并到VBox中,然后将其作为子项添加到tab_list

from ipywidgets import *
import seaborn.apionly as sns
df = sns.load_dataset('iris')
import matplotlib.pyplot as plt

#plot
def plot_image(x):

    data = df

    if x != 'Select':
        xplot = data[x]
        sns.distplot(xplot)
        plt.show()

#define widgets
x = widgets.Dropdown(
        options=df.columns,
        value=df.columns[0],
        description='X'
    )

x.set_title  = 'x'

#assign widgets to tabs
tab_visualise = widgets.HBox([x])

#create tabs
tab_nest = widgets.Tab()
# tab_nest.children = [tab_visualise]
tab_nest.set_title(0, 'Visualise')


#interact function in isolation
f = interactive(plot_image, x = x);
tab_nest.children = [VBox(children = f.children)]
display(tab_nest)

enter image description here