我有一個x和y值列表以及每個點(「綠色」,「藍色」,「紅色」等)的顏色分配列表。我發現的所有例子都基於單獨的plt.scatter()命令產生了一個圖例,隨後一個簡單的plt.legend()就足夠了。 making matplotlib scatter plots from dataframes in Python's pandas。我的分散對每個彩色組都沒有單獨的散點圖。那麼我如何生成一個顯示每個組的顏色的圖例?如何將圖例添加到具有顏色分配的散點圖
import matplotlib.pyplot as plt
colors = ["red", "orange", "green", "blue", "purple", "gray"]
regions = ["Hanoi", "Nha Trang", "Vung Tau", "Phu Quoc", "Quang Ngai", "Saigon"]
region_colors=dict(zip(regions,colors))
grp_color=[]
for i in data['Region']:
grp_color.append(region_colors[i])
x_long=data[' Longitude']
y_lat=data[" Latitude"]
plt.scatter(x_long,y_lat,c=grp_color)
plt.legend(grp_color,regions,loc='right')
邏輯在這裏逆轉。通常,爲不同顏色的散點圖創建圖例的最簡單方法是分割數據,繪製不同的散點圖(或正常圖)並使用'plt.legend()'。 – ImportanceOfBeingErnest
所以我應該回到數據框並分解它,這樣我可以分別繪製每個組? –
這當然是一種選擇。您也可以在下面使用我的答案。 – ImportanceOfBeingErnest