如何在 plotly 中设置特定颜色

How to set certain color in plotly

我有这种数据,我想定义线条的颜色。这里两条线都是蓝色的(见附件)。

import pandas as pd
import plotly.express as px
import numpy as np
qq = pd.DataFrame(
    {
        "Predicted": np.sort(np.random.uniform(3, 15, 4)),
        "real": np.sort(np.random.uniform(3, 15, 4)),
        "Category": ["A", "B", "C", "D"],
        "new_val": np.random.uniform(3, 15, 4),
    }
)

px.bar(
    qq, x="Category", y=["Predicted", "real", "new_val"], title="Long-Form Input"
).add_traces(
    px.line(qq, x="Category", y="real").update_traces(showlegend=True, name="real").data
).add_traces(
    px.line(qq, x="Category", y="Predicted").update_traces(showlegend=True, name="Predicted").data
)

我正在尝试设置 color='red' 和此类参数,但这不起作用

使用 color="red" 作为 line() 的参数将不起作用,因为该值应该是数据框中列的名称或每个值的颜色集合。

https://plotly.com/python-api-reference/generated/plotly.express.line.html

如果您不想提供这些额外的颜色值,请使用 line_color="red" 作为 update_traces() 调用的参数。

数据显示在fig.data,所以折线图可以直接从已经存在的散点图改写

fig = px.bar(qq, x="Category", y=["Predicted", "real", "new_val"], title="Long-Form Input")

fig.data[3].line.color = 'red'
fig.data[4].line.color = 'red'