具有多条迹线的绘图的线条颜色

问题描述 投票:0回答:1

我正在处理一个包含 4 列的数据集

日期 类别 子类别 开支

我想创建一个仪表板,显示所选类别及其子类别的费用与日期。我通过以下方式得到它

cats = df.Category.unique()
tags={key: [] for key in cats}
for cat in cats:
    tags[cat] = df[df.Category==cat].Subcat.unique()

@callback(Output(graph,"figure"),Input(dropdown,"value"))
def update_bar_chart(cat):
    mask = df['Category']==cat
    fig = px.bar(df[mask].groupby(df.Date)['Expense amount'].sum())
    for i, tag in enumerate(tags[cat]):
        mask = df['Subcat']==tag
        fig.add_traces(list(px.scatter(df[mask].groupby(df.Date)['Expense amount'].sum()).select_traces()))
    return fig

但是它们都呈现相同的颜色。如何设置每条迹线的线条颜色?

plotly plotly-dash
1个回答
0
投票

color
参数传递给plotlyexpress 函数,Plotlyexpress 图形可以具有明显的颜色。

参考:https://plotly.com/python/bar-charts/#colored-bars

您可以尝试将回调修改为如下所示,以根据

Date
(x 轴)对条形图轨迹进行明显的着色。

@callback(Output(graph,"figure"),Input(dropdown,"value"))
def update_bar_chart(cat):
    mask = df['Category']==cat
    fig = px.bar(df[mask].groupby(df.Date)['Expense amount'].sum(), color='Date')
    for i, tag in enumerate(tags[cat]):
        mask = df['Subcat']==tag
        fig.add_traces(list(px.scatter(df[mask].groupby(df.Date)['Expense amount'].sum()).select_traces()))
    return fig
© www.soinside.com 2019 - 2024. All rights reserved.