這里的問題很簡單,但我似乎無法弄清楚。我有一個(gè)包含 3 個(gè)可能值的數(shù)據(jù)框列:print(df['Site'])0 ABC1 EFG2 ABC3 ABC4 HIJ當(dāng)我繪制時(shí),每個(gè)站點(diǎn)都有相同的顏色,但我希望每個(gè)標(biāo)記都有一種顏色來代表該站點(diǎn)。我嘗試過以下 2 個(gè)選項(xiàng),但沒有成功: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 想要一個(gè)整數(shù)。有解決辦法嗎?如何在標(biāo)記中繪制站點(diǎn)顏色?
2 回答

小唯快跑啊
TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
我將從映射顏色和站點(diǎn)的字典開始。
d = {
'ABC':'red',
'DEF':'green',
'GHI':'black'
}
您可以在那里使用任何HTML 顏色名稱。
然后,您可以根據(jù)您的字典制作顏色列表。
colors = [d[k] for k in df['Site'].values]
最后,你可以傳遞marker_color=colors給fig.add_trace()

萬千封印
TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果你使用 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 包中的散點(diǎn)圖中操作圖例
添加回答
舉報(bào)
0/150
提交
取消