首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用朱庇特笔记本和Python创建交互式绘图

如何用朱庇特笔记本和Python创建交互式绘图
EN

Stack Overflow用户
提问于 2019-07-03 13:00:42
回答 1查看 1.7K关注 0票数 1

我有下面的数据。

代码语言:javascript
运行
复制
CustID| Age |Gender|Smoking_history |Alcohol_history

1 |18-24| M | Non-smoker | <21 units per week

2 |43-48| F | Non-smoker | <21 units per week

3 |37-42| M | Unknown | <21 units per week

4 |18-24| F | Unknown | Unknown

5 |43-48| M | Previous smoker | <21 units per week

我创建了条形图并使用了以下代码:

Df.groupby(‘吸烟史’,‘年龄’).size().unstack().plot(.unstack=‘bar’,stacked=True) plt.show()

需要注意的是,年龄是一个数值范围值,而“吸烟历史记录”是字符串值。

它在朱庇特笔记本中创建了堆叠的酒吧图,并根据吸烟史显示不同年龄组的人数。

我想让它具有交互性,这样我就可以从下拉列表中选择列。

我如何通过在木星笔记本中使用ipywidget来做到这一点呢?

**是否有任何方法在情节中使用非数字列?

EN

回答 1

Stack Overflow用户

发布于 2019-07-03 19:33:33

实际上,创建它并不那么困难。首先,您必须导入所有必需的小部件库。库小部件保存ui元素的定义。交互库将在每次触发元素上的事件时调用自定义函数--在我们的示例中,选择不同的列。每次函数被调用时,我们只返回一个新的情节。请注意,您应该只读取函数中数据集中的数据。改变它可能会给以后的细胞带来副作用。

代码语言:javascript
运行
复制
import ipywidgets as widgets
from ipywidgets import interact, interactive, fixed, interact_manual
drop_down=widgets.Dropdown(
    options=data2.columns.values,
    value='Age',
    description='Column:',
    disabled=False,
)

def update_barchart(columns):
    return data2.groupby(columns).size().plot(kind='bar',stacked=True)

interactive(update_barchart, columns=drop_down)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56870734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档