我有一个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