這是一個常見問題的重復,但我花了 4 個小時閱讀回復,但我仍然無法理解它們,我的代碼拋出錯誤或回傳意外結果。
這個任務非常簡單,應該不超過一行代碼。回應要么是代碼墻,要么是通過對每個類進行單獨呼叫來執行散點圖plt.scatter,我不想這樣做。
我如何為此創造傳奇?X 和 y 資料是用make_blobs.
map = {0: 'red', 1:'green', 2:"blue"}
plt.scatter(X[:,0], X[:,1], c=[map[i] for i in y])
我想要的只是一個看起來像這樣的圖例:(
紅點):0
(綠點):1
(藍點):2
ffs
uj5u.com熱心網友回復:
由于完整的代碼不可用,我只是創建具有 4 個條目的虛擬資料,以演示如何使用您正在談論的 3 種顏色創建散點圖。這將根據您輸入的內容創建圖例map。
import matplotlib.pyplot as plt
data = {'x1': [1, 3, 6, 9], #Your X values
'x2':[15, 11, 5, 8], #Your Y values
'y': [0,1,2,1]} #The colors you want for each circle
X=pd.DataFrame(data)
map = {0: 'red', 1:'green', 2:"blue"}
fig, ax = plt.subplots()
for g in X.y.unique(): #For each group R/G/B
ix = np.where(X.y == g)
ax.scatter(X.x1[ix[0]], X.x2[ix[0]], c = map[g], label = map[g], s = 50) #Draw with said color
ax.legend()
plt.show()
輸出圖

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/495127.html
標籤:matplotlib 传奇 散点图
