你如何在python中为一个情节箱图添加标签?

时间:2014-10-23 20:32:01

标签: 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'))

生成以下图像; img

我想做的是以下两件事:

1)在y轴编号旁边添加%。 (而不是传统的y轴标签说“错误(%)”)

2)标记所有要点:平均值,第一四分位数,第三四分位数和stdev。理想情况下,标签将是该行旁边的4 sig-fig('.2f')数字。

此外,stdev是虚线,钻石代表1 sigma? 2西格玛?

1 个答案:

答案 0 :(得分:4)

对于标签,请尝试annotations.您必须计算四分位数并表示自己定位标签。

简单示例:

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)

Simple Python boxplot Simple boxplot with Plotly and Python

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

Adding and editing annotations in the plotly workspace

Plotly boxplot with an annotation at the 3rd quartile

Python code to generate an annotation in Plotly

钻石显示平均值,与之相差±1个标准差。

目前无法在y轴标签上添加%。