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

这里的问题很简单,但我似乎无法弄清楚。我有一个包含 3 个可能值的数据框列:


print(df['Site'])


0        ABC

1        EFG

2        ABC

3        ABC

4        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 想要一个整数。有解决办法吗?如何在标记中绘制站点颜色?


江户川乱折腾
浏览 211回答 2
2回答

小唯快跑啊

我将从映射颜色和站点的字典开始。d = {    'ABC':'red',    'DEF':'green',    'GHI':'black'}您可以在那里使用任何HTML 颜色名称。然后,您可以根据您的字典制作颜色列表。colors = [d[k] for k in df['Site'].values]最后,你可以传递marker_color=colors给fig.add_trace()

万千封印

如果你使用 Plotly Express,你可以color_discrete_map在px.scatter(). 例如:px.scatter(df, x='datetime', y='measurement',             color='target',             color_discrete_map={'value1': 'green', 'value2': 'red'})资料来源:在 python plotly 包中的散点图中操作图例
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python