Ошибка в графике при использовании обратных вызовов для рисования гистограммы - PullRequest
0 голосов
/ 20 декабря 2018

Я новичок в Plotly.Я пытаюсь нарисовать гистограмму с помощью фильтров.Это мой код, в котором значения категории и страны являются входными:

categories = df.Category.unique()
countries = df.CountryName.unique()

#Configure Layout
app.layout = html.Div([

        html.Div([
            dcc.Dropdown(
                id='category',
                options=[{'label': i.title(), 'value': i} for i in categories],
                value='Category'
            )
        ],
        style={'width': '48%', 'display': 'inline-block'}),

        html.Div([
            dcc.Dropdown(
                id='country',
                options=[{'label': i.title(), 'value': i} for i in countries],
                value='CountryName'
            )
        ],style={'width': '48%', 'float': 'right', 'display': 'inline-block'}),

    dcc.Graph(id='feature-graphic')
], style={'padding':10})

app.callback(
    Output('feature-graphic', 'figure'),
    [Input('category', 'value'),
     Input('country', 'value')])

def update_graph(category, country):
    return {
        'data': [go.Bar(
            x=df['SegmentName'],
            y=df[(df['Category']==category)&(df['Country']==country)]['Points'],
            text=df['Category'],
        ) for category in df['Category']],

        'layout': go.Layout(
            xaxis={'title': 'SegmentName'},
            yaxis={'title': 'Points'},
            margin={'l': 40, 'b': 40, 't': 10, 'r': 0},
            orientation='h',
            barmode='stack',
            hovermode='closest'
        )
    }

if __name__ == '__main__':
    app.run_server(debug=True)

Мой фрейм данных имеет столбцы: SegmentName (самое низкое, низкое, среднее и высшее), CountryName, категория (еда, напитки, транспорт)...) и очки.Я хотел бы представить столбец с накоплением для каждого имени сегмента с помощью точки по категориям (каждая категория с другим цветом)

Я получаю панель управления с меню страны и категории, но когда я выбираю эти значения, я нене получается получить график.

Кто-нибудь знает, как решить эту проблему?

Заранее спасибо!

...