为了账号安全,请及时绑定邮箱和手机立即绑定

基于字符串值 Plotly Python 的标记颜色

基于字符串值 Plotly Python 的标记颜色

江户川乱折腾 2022-12-20 16:15:02
这里的问题很简单,但我似乎无法弄清楚。我有一个包含 3 个可能值的数据框列:print(df['Site'])0        ABC1        EFG2        ABC3        ABC4        HIJ当我绘制时,每个站点都有相同的颜色,但我希望每个标记都有一种颜色来代表该站点。我尝试过以下 2 个选项,但没有成功:fig.add_trace(go.Scatter(x=df['Reported Date'], y=df['Score'],    mode='markers',     marker= dict(color=list(map(SetColor, df['Site']))),    name='Points',     text="Site: " + df['Site'].map(str) + " " + "Ticket: "+ df['Ticket ID'].map(str)))fig.add_trace(go.Scatter(x=df['Reported Date'], y=df['Score'],    mode='markers',     marker_color= df['Site'],    name='Points',     text="Site: " + df['Site'].map(str) + " " + "Ticket: "+ df['Ticket ID'].map(str)))我知道 Plotly/Dash 想要一个整数。有解决办法吗?如何在标记中绘制站点颜色?
查看完整描述

2 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

我将从映射颜色和站点的字典开始。


d = {

    'ABC':'red',

    'DEF':'green',

    'GHI':'black'

}

您可以在那里使用任何HTML 颜色名称。


然后,您可以根据您的字典制作颜色列表。


colors = [d[k] for k in df['Site'].values]

最后,你可以传递marker_color=colors给fig.add_trace()


查看完整回答
反对 回复 2022-12-20
?
万千封印

TA贡献1891条经验 获得超3个赞

如果你使用 Plotly Express,你可以color_discrete_mappx.scatter(). 例如:

px.scatter(df, x='datetime', y='measurement', 
           color='target', 
           color_discrete_map={'value1': 'green', 'value2': 'red'})

资料来源:在 python plotly 包中的散点图中操作图例


查看完整回答
反对 回复 2022-12-20
  • 2 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信