Plotly:具有多个轴的分组条形图
问题描述
当我在 Layout
中设置 barmode='group'
而 trace2 = Bar(...,yaxis='y2')
时,这会导致条形图被堆叠或覆盖,而不是对它们进行分组.如何在有多个轴的情况下对条形进行分组?
我浏览了这些但无济于事:
When I set
barmode='group'
inLayout
whiletrace2 = Bar(...,yaxis='y2')
, this leads bars to be stacked or overlayed instead of grouping them. How can I group the bars while having multiple axes?I went over these but no avail:
- With single Y axis grouped bar chart is shown here.
- Multiple axes is also explained here and reference for y-axis is available here
I hope the code below, based on zoo example, will be self-explanatory, however you have to set
yaxis
andoffsetgroup
parameters ingo.Bar()
object, and alsoyaxis2
parameter inlayout
parameter ofgo.Figure()
object properly. The code is following: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()
The result looks like this:
相关文章