Plotly 条形图上的错误栏阻止的文本

Posted

技术标签:

【中文标题】Plotly 条形图上的错误栏阻止的文本【英文标题】:Text blocked by error bars on Plotly bar graph 【发布时间】:2021-10-29 05:11:57 【问题描述】:

我正在尝试制作带有误差线和数据标签的条形图,但我找不到如何更改文本的位置以使误差线不会干扰标签。 This is an example of what I currently have,代码如下:

x = [1, 2, 3, 4, 5, 6]
y = [100, 90, 80, 70, 60, 50]
y_err = [5, 6, 7, 8, 9, 10]

fig = go.Figure(data=go.Bar(x=x, y=y, error_y_array=y_err, text=y, textposition="inside"))
fig.show()

理想情况下,我希望标签位于栏的底部,但确保数据不被覆盖的任何其他方式也可以。我需要数据在栏内并水平定向。谢谢!

【问题讨论】:

【参考方案1】:

我只是简单地注释每个条,textposition 的唯一有效参数是 `['inside'、'outside' 和 'auto']。因此,在这种情况下,遍历列表并添加如下文本:

import plotly.graph_objects as go

x = [1, 2, 3, 4, 5, 6]
y = [100, 90, 80, 70, 60, 50]
y_err = [5, 6, 7, 8, 9, 10]

fig = go.Figure(data=go.Bar(x=x, y=y, error_y_array=y_err))

i=0
text_height = 5
for x_val in x:
    fig.add_annotation(
        x=x_val,
        y=text_height, 
        text=str(y[i]),
        showarrow=False,
        font=(dict(color='white'))
    )
    i = i+1

输出:

【讨论】:

以上是关于Plotly 条形图上的错误栏阻止的文本的主要内容,如果未能解决你的问题,请参考以下文章

Plotly:如何对条形图上显示的“文本”值求和?

Plotly:如何在甘特图上标记条形?

如何在绘图条形图上左对齐文本(包含示例图像)[Plotly-Dash]

在谷歌列图表中显示条形图上的类型名称

如何使用 nvd3 在柱形图上定位旋转的 x 轴标签?

在 Python 上的 Plotly 中手动定义图例