18

当我设置while 时barmode='group',这会导致条形图被堆叠或覆盖,而不是对它们进行分组。如何在拥有多个轴的同时对条形进行分组?Layouttrace2 = Bar(...,yaxis='y2')

我浏览了这些但无济于事:

4

3 回答 3

12

我希望下面的代码,基于动物园示例,将是不言自明的,但是您必须正确设置对象中的参数,yaxis以及对象offsetgroup参数中的参数。代码如下:go.Bar()yaxis2layoutgo.Figure()

import plotly.graph_objects as go
animals=['giraffes', 'orangutans', 'monkeys']

fig = go.Figure(
    data=[
        go.Bar(name='SF Zoo', x=animals, y=[200, 140, 210], yaxis='y', offsetgroup=1),
        go.Bar(name='LA Zoo', x=animals, y=[12, 18, 29], yaxis='y2', offsetgroup=2)
    ],
    layout={
        'yaxis': {'title': 'SF Zoo axis'},
        'yaxis2': {'title': 'LA Zoo axis', 'overlaying': 'y', 'side': 'right'}
    }
)

# Change the bar mode
fig.update_layout(barmode='group')
fig.show()

结果如下所示:

在此处输入图像描述

于 2020-03-31T14:13:09.007 回答
3

对于现在看到这篇文章的人来说,plotly 现在offsetgroup在条形图中有一个属性可以解决这个问题。设置barmode='grouped'仍然不起作用。

于 2020-03-12T09:38:57.063 回答
0

这是具有多个轴的分组条形图的示例:https ://plot.ly/~etpinard/2080/grouped-bars-on-multiple-axes/

相应的python代码可以在这里找到:https ://plot.ly/~etpinard/2080/grouped-bars-on-multiple-axes.py

希望这会有所帮助。

于 2015-03-16T14:18:26.973 回答