Plotly boxplot:groupby选项?

时间:2015-06-22 18:35:28

标签: python boxplot plotly

我有两个布尔变量,我尝试用组创建一个盒子图。每个组应代表其中一个变量,它应包含两个箱图,一个用于TRUE,另一个用于FALSE。相反,我得到两个组,一个代表TRUE,一个代表FALSE,每个组两个箱图对应于每个变量,如附图所示:

boxplot

我知道组是从xaxis派生的。但是我如何能够认为变量名称是组?我用于输出的代码:

trace3= Box(
 y=raw_matrix.TPS,
 x=raw_matrix.noClassGc,
 name='noClassGc',
 marker=Marker(
 color='#3F5D7D'
))

trace4= Box(
 y=raw_matrix.TPS,
 x=raw_matrix.aggresiveOpts,
 name='aggresiveOpts',
 marker=Marker(
 color='#0099FF'
 ))

data = Data([trace3, trace4])
layout = Layout(
 yaxis=YAxis(
 title='confidence',
 zeroline=False),
 boxmode='group',
 boxgroupgap=0.5
 )


fig = Figure(data=data, layout=layout)
plot_url = ploteczki.plot(fig, filename='Performance by categoricals parameters')

2 个答案:

答案 0 :(得分:0)

您需要重新排列数据数组,以便两个Box跟踪的'x'坐标为'noClassGc''aggresiveOpts'

IPython notebook告诉您如何操作。

答案 1 :(得分:0)

或者,要通过布尔箱图表示每个组,可以将每个轨迹分配给不同的x轴。这是一个例子:

trace0 = Box(
    y=raw_matrix_TPS,
    x=raw_matrix_noClassGc,
    name='noClassGc',
    marker=Marker(
        color='#3F5D7D'
    )
)
trace1 = Box(
    y=raw_matrix_TPS,
    x=raw_matrix_aggresiveOpts,
    name='aggresiveOpts',
    xaxis='x2',
    marker=Marker(
        color='#0099FF'
    )
)
data = Data([trace0, trace1])
layout = Layout(
    xaxis = XAxis(
        domain=[0, 0.55],
    ),
    xaxis2 = XAxis(
         domain=[0.55, 1],
    ),
    yaxis = YAxis(
         title='confidence',
         zeroline=False
    ),
    boxmode='group',
    boxgroupgap=0.5
)
fig = Figure(data=data, layout=layout)
plot_url = py.plot(fig, filename='Performance by categoricals parameters')

这是the link to the plot

要了解详情,您可以结帐Plotly Python reference