如何使用 plotly express 标记分组条形图?

How to label a grouped bar chart using plotly express?(如何使用 plotly express 标记分组条形图?)

本文介绍了如何使用 plotly express 标记分组条形图?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在 plotly express 中将数据标签添加到条形图的顶部.我正在使用数据框中的两个不同列,所以我不能使用颜色".方法.我想定义文本";对于每个条形图,因此它会在条形图顶部显示数据.这是一个 MRE.

I want to add data labels to the tops of bar charts in plotly express. I'm using two different columns from the data frame so I can't use the "colors" method. I want to define "text" for each bar so it shows the data on top of the bar. Here is an MRE.

import pandas as pd
import plotly.express as px

x = ['Aaron', 'Bob', 'Chris']
y1 = [5, 10, 6]
y2 = [8, 16, 12]

fig = px.bar(x=x, y=[y1,y2],barmode='group')
fig.show()

我试过了:

fig = px.bar(x=x, y=[y1,y2],text=[y1,y2], barmode='group')

但这不起作用.

推荐答案

使用您的设置,只需添加以下内容:

Using your setup, just add the following to the mix:

texts = [y1, y2]
for i, t in enumerate(texts):
    fig.data[i].text = t
    fig.data[i].textposition = 'outside'

结果:

import pandas as pd
import plotly.express as px

x = ['Aaron', 'Bob', 'Chris']
y1 = [5, 10, 6]
y2 = [8, 16, 12]

fig = px.bar(x=x, y=[y1,y2],barmode='group')

texts = [y1, y2]
for i, t in enumerate(texts):
    fig.data[i].text = t
    fig.data[i].textposition = 'outside'
fig.show()

这篇关于如何使用 plotly express 标记分组条形图?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:如何使用 plotly express 标记分组条形图?

基础教程推荐