我有下面的数据。
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来做到这一点呢?
**是否有任何方法在情节中使用非数字列?
发布于 2019-07-03 19:33:33
实际上,创建它并不那么困难。首先,您必须导入所有必需的小部件库。库小部件保存ui元素的定义。交互库将在每次触发元素上的事件时调用自定义函数--在我们的示例中,选择不同的列。每次函数被调用时,我们只返回一个新的情节。请注意,您应该只读取函数中数据集中的数据。改变它可能会给以后的细胞带来副作用。
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)
https://stackoverflow.com/questions/56870734
复制相似问题