Plotly px.bar绘制并排柱形图及饼图实现方法咨询
问题1:实现三类柱条并排展示
plotly.express.bar() 默认的柱形排布模式为堆叠(barmode='relative'),只需新增一行布局配置即可切换为并排分组模式,修改后的完整代码如下:
fig = px.bar(senti_df, x=senti_df.index, y=['Positive', 'Neutral', 'Negative']) # *核心配置*:设置柱形为分组并排模式 fig.update_layout(barmode='group') fig.show()
- 可选优化:如果需要调整柱子间距,可以在
update_layout中追加参数:bargap: 不同x轴分组之间的间距,取值范围0-1bargroupgap: 同一分组内不同类别柱条的间距,取值范围0-1
示例配置:fig.update_layout(barmode='group', bargap=0.15, bargroupgap=0.05)
问题2:基于该数据集绘制饼图
饼图要求输入为「类别-对应数值」的一维对应结构,如果你需要绘制全量数据的情感占比饼图,可以先对三类情感的数值做聚合求和,再调用px.pie()实现,代码如下:
# 聚合计算三类情感的总数值 senti_sum = senti_df[['Positive', 'Neutral', 'Negative']].sum().reset_index() senti_sum.columns = ['sentiment_type', 'value'] # 绘制饼图 fig_pie = px.pie( senti_sum, values='value', names='sentiment_type', title='情感类别分布占比' ) fig_pie.show()
如果需要按x轴的每个维度分别绘制饼图,可以使用facet_col/facet_row参数生成子图,入门阶段先掌握基础占比饼图的写法即可。
内容的提问来源于stack exchange,提问作者LukasB3
相关产品推荐
相关产品推荐

