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()
但它只会改变悬停颜色,而不是线条颜色
我尝试将美国单独绘制为自己的图形,然后将其更新为原始图形,但效果不佳。
解决方案
您始终可以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()
推荐阅读
- angular6 - 有没有办法在 Angular 6 spa 的 app_init 中读取查询字符串参数?
- c# - 如何使用 MVVM 正确地将数据附加到我的集合中?
- postgresql - 如何使用 PGpoint 使用 PostgreSQL 进行地理定位?
- python-3.x - 使用 boto3 验证 AWS 凭证
- asp.net-mvc - 将枚举绑定到下拉列表
- php - Consolibyte PHP QuickBooks Desktop - 客户端找到响应内容
- python - 如何通过 Python 2.7 for 循环运行 numpy.unique 计数?
- c++ - 通过父类和偏移量访问成员变量
- javascript - 在 javascript 中添加具有不同来源的多个 iframe
- algorithm - 使用 O(k) 内存的 O(N) 运行时间的散列