Plotly:带有多个轴的分组条形图

toz*_*CSS 10 python plot bar-chart multiple-axes plotly

当我barmode='group'进入Layoutwhile时trace2 = Bar(...,yaxis='y2'),这会导致条形堆叠或重叠,而不是将它们分组.如何在有多个轴的情况下对条形图进行分组?

我去了这些但没有用:

Jar*_*děk 6

我希望下面的代码,根据动物园例如,将是不言自明的,但是你必须设置yaxisoffsetgroup参数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()
Run Code Online (Sandbox Code Playgroud)

结果如下所示:

在此处输入图片说明

  • @LoukasPap,我已经为你编辑了答案!<3 (2认同)

abo*_*ard 5

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


etp*_*ard 0

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

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

希望这有帮助。

  • 谢谢,但你这里有两个单独的图表。我正在寻找单个 x 轴上仅包含两条迹线的分组条形(如动物园示例[此处](https://plot.ly/python/bar-charts/));一侧各有两个 y 轴,一个在左侧,一个在右侧,与第一个示例类似[此处](https://plot.ly/python/multiple-axes/)。这可能吗?谢谢 ! (7认同)