绘制多线图,只有一条线着色

TYL*_*TYL 2 python plotly plotly-python

如何制作交互式多折线图,其中只有一条感兴趣的线是彩色的,而其他线都是灰色的:

所以在这里,我希望美国为红色,而其他国家为灰色。这是我到目前为止:

import pandas as pd
import plotly.express as px

df = px.data.gapminder()
fig = px.line(df, x='year', y='pop', color="country", hover_name="country",color_discrete_map={'United States': 'Red'})
fig.update_layout(autosize=False,width=700,height=500)
fig.show()
Run Code Online (Sandbox Code Playgroud)

但它只改变悬停颜色,不改变线条颜色

我尝试将 US 单独绘制为自己的图形,然后将其更新为原始图形,但效果不佳。

ves*_*and 5

您始终fig可以使用 for 循环直接编辑您的元素以获取此信息:

在此处输入图片说明

完整代码:

import pandas as od
import plotly.express as px

df = px.data.gapminder()
fig = px.line(df, x='year', y='pop', color="country", hover_name="country")

# edit colors
for d in fig['data']:
    if d['name'] == 'United States':
        d['line']['color']='red'
    else:
        d['line']['color']='lightgrey'

fig.show()
Run Code Online (Sandbox Code Playgroud)