[英]How to Color Specific Data Points on a Plot Based on Column Value in Pandas Dataframe
假設我有以下數據集:
d = {'Team': ['Duke', 'LSU'], 'Wins': [20, 18], 'Losses' : [5, 7], 'Conference' : ['ACC', 'SEC']}
df = pd.DataFrame(data=d)
df
Team Wins Losses Conference
0 Duke 20 5 ACC
1 LSU 18 7 SEC
然后我做了一個散點圖
plt.plot(d['Losses'], d['Wins'], 'o')
我想通過會議對我的散布 plot 進行顏色編碼。 更具體地說,我只想將 SEC 團隊塗成紅色,而所有其他數據點都是默認的藍色。 此外,我將如何 go僅將杜克紅色着色,而其他所有數據點都是藍色? 我的數據集中有大約 200 個團隊。 我怎么會這樣做呢? 謝謝!
IIUC你可以試試
import pandas as pd
import numpy as np
d = {'Team': ['Duke', 'LSU'],
'Wins': [20, 18],
'Losses' : [5, 7],
'Conference' : ['ACC', 'SEC']}
df = pd.DataFrame(data=d)
df["color"] = np.where(df["Conference"]=="SEC", "red", "blue")
df.plot(x='Losses', y='Wins', kind="scatter", color=df["color"]);
如果你想對 Duke 使用相同的邏輯,你只需要相應地用np.where
更改行。
更新對於這種特殊情況,我認為您應該看看plotly
import plotly.express as px
px.scatter(df,x="Losses", y="Wins", color="Conference", hover_name="Team")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.