[英]How can I change the color of my scatter plot points based on a "color" column in my dataset in plotly (python)?
我有這段代碼,它使用 plotly 為 NFL 跟蹤數據設置動畫。 我希望能夠手動更改主/客隊和球的顏色。 我嘗試過使用下面的代碼,但是它們都采用相同的顏色。 我的數據集中有一個名為“顏色”的列,我想用它來為每個單獨的數據點分配顏色。
# SCATTER TO ANIMATE TRACKING DATA
fig = px.scatter(data, x = "x", y = "y", hover_name="displayName",
color="color", animation_frame = "frameId", animation_group = "displayName",
range_y = [-5, 60], range_x = [-5, 125])
fig.layout.updatemenus[0].buttons[0].args[1]['frame']['duration'] = 80
for i in range(0, 121, 10):
fig.add_trace(go.Scatter(x=[i,i], y=[0,53.3], mode='lines', line=dict(color='white'), showlegend=False))
fig.update_layout(xaxis=dict(zeroline=False, showgrid=False),
yaxis=dict(zeroline=False, showgrid=False))
fig.add_trace(go.Scatter(x=[0,120], y=[0,0], mode='lines', line=dict(color='white'), showlegend=False))
fig.add_trace(go.Scatter(x=[0,120], y=[53.3,53.3], mode='lines', line=dict(color='white'), showlegend=False))
#fig.write_html("football.html")
fig.update_layout(
autosize=False,
width=1000,
height=600
)
fig
以下是數據示例:
X | 是的 | 團隊 | 顏色 | 幀 ID | 顯示名稱 |
---|---|---|---|---|---|
61.21 | 46.77 | 家 | 綠色的 | 1 | 馬霍姆斯 |
60 | 32 | 離開 | 黑色的 | 1 | 貝克漢姆 |
還有一張我目前擁有的照片:
更新圖的圖片(如果你看右邊標簽名稱與我想要的顏色不匹配)
我已經做到了,我必須設置color = "team"
然后color_discrete_map
。 有效的代碼是:
fig = px.scatter(data, x = "x", y = "y", hover_name="displayName",
color="team", animation_frame = "frameId", animation_group = "displayName",
range_y = [-5, 60], range_x = [-5, 125], color_discrete_map = dict((["home", "black"], ["away", "red"], ["football", "brown"])))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.