我正在尝试创建一个交互式条形图。我有以下数据框:
custid |年龄|性别|吸烟| hash_history
1 | 18-24 |m |非吸烟|<每周21个单位
2 | 43-48 |f |非吸烟|<每周21个单位
3 | 37-42 |m |未知|<每周21个单位
4 | 18-24 |f |未知|未知
5 | 43-48 |m |以前的吸烟者|<每周21个单位
我想创建一个交互式图,可以在其中选择列,并且可以根据所选列的组创建一个条形图,即通过基于组来计数行来创建总数。
。它显示了可以选择所需列的两个下拉列表。
from plotly.offline import iplot, init_notebook_mode
import plotly.graph_objs as go
init_notebook_mode()
import plotly
@interact
def bar_plot(x=list([['Age', 'Gender', 'Smoking history', 'Alcohol
history']]), y=list(df[['Gender', 'Smoking history', 'Alcohol
history']])):
df.iplot(kind='bar', x=x, y=y,
xTitle=x.title(), yTitle=y.title(),
title=f'{y.title()} vs {x.title()}')
,但不会创建任何输出。相反,它显示错误:
"C:ProgramDataAnaconda3libsite-packagesIPythoncoredisplay.py:689:
用户沃宁:
Consider using IPython.display.IFrame instead"
解决它的想法?
我相信您只需要添加connected = true = true in init_notebook_mode:plotly offline docs
init_notebook_mode(connected=True)