我正在尝试在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)
答案 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)