如何在Python中为plotly箱线图添加标签?
我有以下这段代码:
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'))
这段代码生成了下面这张图片:

我想做的事情有两个:
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)

我建议你在Plotly的工作区中添加和调整注释的位置,然后查看生成的代码:
图中的菱形表示平均值,以及离它一个标准差的范围。
目前还不能在y轴的标签上添加百分比。