【问题标题】:Create interactive plot by IPywidgets in Jupyter notebook在 Jupyter 笔记本中通过 IPywidgets 创建交互式绘图
【发布时间】:2019-11-13 07:16:21
【问题描述】:

我正在尝试创建交互式条形图。 我有以下数据框:

客户 ID|年龄 |性别|吸烟历史 |酒精历史


1 |18-24|中号 |不吸烟 |

2 |43-48| F |不吸烟 |

3 |37-42|中号 |未知 |

4 |18-24| F |未知 |未知

5 |43-48|中号 |以前的吸烟者 |

我想创建一个交互式图,我可以在其中选择列,它可以根据所选列的分组创建条形图,即通过基于组计算行数来创建总数。

它显示了两个下拉列表,可以在其中选择所需的列。

 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:\ProgramData\Anaconda3\lib\site-packages\IPython\core\display.py:689: 

用户警告:

Consider using IPython.display.IFrame instead"

有解决办法吗?

【问题讨论】:

    标签: python pandas jupyter-notebook plotly ipywidgets


    【解决方案1】:

    我相信您只需要在 init_notebook_mode 中添加 connected=True :plotly offline docs

    init_notebook_mode(connected=True)
    

    【讨论】:

    • 不,它不起作用。它显示相同的“考虑改用 IPython.display.IFrame”错误。
    • 这不是错误。它告诉您使用 ipython 的建议,这将允许您将位于“C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\display.py:689”的图显示为内部的 iframe笔记本而不是单独的文件。您是否尝试过将该文件粘贴到浏览器中,因为这似乎是文件实际所在的位置,但要将其放入笔记本中,您可以使用ipywidgets.readthedocs.io/en/stable/examples/… 例如,我从 ipywidgets 使用本地导入 VBox、HBox 并且它可以工作
    • 谢谢,但事实并非如此。不知道这里有什么问题。
    • 如果我使用 API 密钥访问 ploty,它会在那里创建绘图并提供链接。但它不是在本地创建。
    猜你喜欢
    • 2016-07-04
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    • 2023-02-05
    • 2020-08-13
    相关资源
    最近更新 更多