如何使用Plotly绘制带color参数的分组柱状图并解决报错
报错原因
plotly.express 接口下所有映射数据字段的参数(包括x、y、color)仅支持传入单个列名的字符串,不支持传入列名组成的列表。你给color传了['gender','country'],长度为2,和数据集的7行长度不匹配,因此触发长度校验错误。
另外你已经提前聚合好了每个分组的count数值,不需要用px.histogram(直方图默认会自动对原始数据做频次统计,适合未聚合的原始明细数据),直接用px.bar绘制柱状图即可。
可直接运行的正确代码
import pandas as pd import plotly.express as px df = pd.DataFrame({ 'gender':['F','F','M','M','M','M','M'], 'country':['USA','Belgium','USA','Russia','India','Belgium','Canada'], 'count':[123,421,112,445,21,442,226] }) fig = px.bar( data_frame=df, x='gender', y='count', color='country', barmode='group' ) fig.show()
效果说明
运行后x轴会按性别分为F、M两组,每组内按国家拆分出独立柱子,柱子高度对应count数值,不同国家柱子自动分配不同颜色,和参考效果完全一致。
内容的提问来源于stack exchange,提问作者DevLeb2022
相关产品推荐
相关产品推荐

