簡體   English   中英

如何在 plotly (python) 中根據我的數據集中的“顏色”列更改散點圖點的顏色?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM