首页 > 解决方案 > Plotly Dash 堆叠条 > 4 堆叠 [Python]

问题描述

我正在尝试创建一个 Plotly Dash 堆叠图。当我的堆栈中有超过四个不同的条时,图表变得无法看到。这是我的代码......

  dcc.Graph(
   figure=go.Figure(
    data=[

        go.Bar(
            x=list(df.month.unique()),
            y=df.loc[df['location'] == 'Brn'].Talks,
            name='Brn',
            marker=go.bar.Marker(
                color='#da202a',
            )
        ),

        go.Bar(
            x=list(df.month.unique()),
            y=df.loc[df['location'] == 'Wrl'].Talks,
            name='Wrl',
            marker=go.bar.Marker(
                color='#2a2a2d',
            )
        ),

        go.Bar(
            x=list(df.month.unique()),
            y=df.loc[df['location'] == 'Lpl'].Talks,
            name='Lpl',
            marker=go.bar.Marker(
                color='#c1c6c8',
            )
        ),

        go.Bar(
            x=list(df.month.unique()),
            y=df.loc[df['location'] == 'HNE'].Talks,
            name='HNE',
            marker=go.bar.Marker(
                color='#0892cb',
            )
        ),
        layout=go.Layout(
        title='Conversation Required',
        showlegend=True,
        barmode='stack',
        xaxis = dict(tickvals=df.month.unique())
        ))

这是我创建不同堆栈的代码,但是,当我想在条形图上添加 5 个或更多堆栈时,一切都变得无法看到了吗?

具有 4 个堆栈的图形

具有 5 个或更多堆栈的图形

标签: python-3.xplotly-dash

解决方案


根据您的第二张图表的格式,第五个堆栈中的至少一个日期值似乎与其他日期值非常不同。也许该值是NULLor0并且 plotly 试图将该日期与所有最近的日期一起绘制,这会导致宽 x 轴。如果没有看到您的数据集,很难说,因为代码看起来不错。

尝试限制布局中的 x 轴范围,以查看是否在三个条上绘制了额外的堆栈作为故障排除步骤。

layout['xaxis'].update({'range': [date_low, date_high]})

推荐阅读