如何在Python中为plotly箱线图添加标签?

2 投票
1 回答
10276 浏览
提问于 2025-04-29 08:22

我有以下这段代码:

y = errnums
err_box = Box(
    y=y,
    name='Error Percent',
    boxmean='sd',
    marker=Marker(color='red'),
    boxpoints='all',
    jitter=0.5,
    pointpos=-2.0
)
layout = Layout(
    title='Error BoxPlot',
    height=500,
    width=500
)
fig = Figure(data=Data([err_box]), layout=layout)
plotly.image.save_as(fig, os.path.join(output_images, 'err_box.png'))

这段代码生成了下面这张图片:

img

我想做的事情有两个:

1) 在y轴的数字旁边加上百分号(%)。也就是说,不想用传统的y轴标签“误差 (%)”。

2) 给所有重要的点加上标签:平均值、第一四分位数、第三四分位数和标准差。理想情况下,标签应该是四位有效数字('.2f')的数字,放在线的旁边。

另外,标准差是虚线,菱形代表的是1个标准差还是2个标准差呢?

暂无标签

1 个回答

4

对于标签,你可以试试注释功能。不过你需要自己计算四分位数和平均值,以便放置这些标签。

这里有个简单的例子:

import plotly.plotly as py
from plotly.graph_objs import *

data = Data([
    Box(
        y=[0, 1, 1, 2, 3, 5, 8, 13, 21],
        boxpoints='all',
        jitter=0.3,
        pointpos=-1.8
    )
])
layout = Layout(
    annotations=Annotations([
        Annotation(
            x=0.3,
            y=8.822,
            text='3rd Quartile',
            showarrow=False,
            font=Font(
                size=16
            )
        )
    ])
)
fig = Figure(data=data, layout=layout)
plot_url = py.plot(fig)

简单的Python箱线图

简单的箱线图,使用Plotly和Python

我建议你在Plotly的工作区中添加和调整注释的位置,然后查看生成的代码:

在Plotly工作区中添加和编辑注释

带有第三个四分位数注释的Plotly箱线图

生成Plotly注释的Python代码

图中的菱形表示平均值,以及离它一个标准差的范围。

目前还不能在y轴的标签上添加百分比。

撰写回答