【问题标题】:Plotly: Grouped Bar Chart with multiple axesPlotly:具有多个轴的分组条形图
【发布时间】:2015-05-16 18:01:39
【问题描述】:

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

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

  • 单Y轴分组条形图显示here
  • 还解释了多轴here 并提供 y 轴参考here

【问题讨论】:

  • 我也有同样的问题,我在他们的网络编辑器中测试过它也坏了,所以我填写了github.com/plotly/plotly.js/issues/78。不确定这是否仅适用于某些后端,但 JS 组件是唯一具有公共错误跟踪器的组件。

标签: python plot bar-chart plotly multiple-axes


【解决方案1】:

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

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

希望这会有所帮助。

【讨论】:

  • 谢谢,但这里有 2 个单独的图表。我正在寻找在单个 x 轴上只有两条轨迹的分组条(如动物园示例 here);一侧有两个 y 轴,一个在左侧,一个在右侧,类似于第一个示例 here。这可能吗?谢谢!
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    我希望下面基于zoo example 的代码是不言自明的,但是您必须在go.Bar() 对象中设置yaxisoffsetgroup 参数,并在layout 中设置yaxis2 参数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()
    

    结果如下:

    【讨论】:

      猜你喜欢
      • 2018-11-25
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      • 2015-06-09
      • 2018-08-15
      • 2017-01-04
      • 2023-02-26
      相关资源
      最近更新 更多