当我设置while 时barmode='group'
,这会导致条形图被堆叠或覆盖,而不是对它们进行分组。如何在拥有多个轴的同时对条形进行分组?Layout
trace2 = Bar(...,yaxis='y2')
我浏览了这些但无济于事:
我希望下面的代码,基于动物园示例,将是不言自明的,但是您必须正确设置对象中的参数,yaxis
以及对象offsetgroup
参数中的参数。代码如下:go.Bar()
yaxis2
layout
go.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()
结果如下所示:
对于现在看到这篇文章的人来说,plotly 现在offsetgroup
在条形图中有一个属性可以解决这个问题。设置barmode='grouped'
仍然不起作用。
这是具有多个轴的分组条形图的示例:https ://plot.ly/~etpinard/2080/grouped-bars-on-multiple-axes/
相应的python代码可以在这里找到:https ://plot.ly/~etpinard/2080/grouped-bars-on-multiple-axes.py
希望这会有所帮助。