Укладка Plotly Dash> 4 стека [Python] - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь создать составной график 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 или более стеков на гистограмму, все становится невозможно увидеть?

Graph with 4 stacks

Graph with 5 stacks or more

1 Ответ

0 голосов
/ 25 февраля 2019

Исходя из формата вашего второго графика, кажется, что хотя бы одно значение даты в пятом стеке сильно отличается от остальных.Возможно, это значение NULL или 0, и он пытается построить эту дату вместе со всеми последними датами, что приводит к широкой оси абсцисс.Трудно сказать, не видя ваш набор данных, так как код кажется нормальным.

Попробуйте ограничить диапазон оси X в макете, чтобы увидеть, будет ли этот дополнительный стек отображаться на трех столбцах в качестве шага устранения неполадок.

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