2

我正在寻求帮助在 Dash 中创建条形图(情节)并为所有条形图提供一种以上的颜色,目前它们都是蓝色的。

例如

    pv = pd.pivot_table(df, index=['customer_name2'], columns=['FY'], values=['amount'], aggfunc=sum, fill_value=0)
    pv2 = pv.reindex(pv['amount'].sort_values(by='FY17', ascending=True).index).head(x_bottom)
    trace1 = go.Bar(x=pv2.index, y=pv2[('amount','FY17')], name='Revenue')

    graphs.append(html.Div(dcc.Graph(
    id='chart_id_6',
    figure={
        'data': [trace1],
        'layout': {
            'title': 'Bottom ' + str(x_bottom) + ' Customers'
        }
    })))
4

2 回答 2

4

您可以传递颜色列表,每个 Bar 使用不同的颜色。

trace1 = go.Bar(
    x=pv2.index, 
    y=pv2[('amount','FY17')], 
    name='Revenue',
    marker=dict(
        color=['rgba(204,204,204,1)', 
               'rgba(222,45,38,0.8)',
               ...])
)

请参阅https://plot.ly/python/bar-charts/章节:自定义条形颜色

这也可能会有所帮助:条形图中条形的不同颜色(按其值)

于 2018-05-29T09:07:18.900 回答
0

对于 json 格式,下面的代码将起作用:

graphs.append(html.Div(dcc.Graph(
    id='chart_id_6',
    figure={
        'data': [{'x':pv2.index, 'y': pv2[('amount','FY17')],
                  'marker': {'color': ['#b50000', '#e63535', '#fa8989']}}],
        'layout': {
            'title': 'Bottom ' + str(x_bottom) + ' Customers'
        }
    })))
于 2020-01-08T06:20:15.473 回答