Make legend correspond to colors of scatter points in matplotlib(使图例与matplotlib中散点的颜色相对应)
本文介绍了使图例与matplotlib中散点的颜色相对应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个通过SCRICKIT-LEARN中的KMeans算法生成的图。这些簇对应不同的颜色。这就是故事情节,
我需要此图的图例,它与图中的簇号相对应。理想情况下,图例应该显示簇的颜色,标签应该是簇号。谢谢。
编辑:我认为我应该放一些代码,因为人们对此投了反对票
from sklearn.cluster import KMeans
km = KMeans(n_clusters=20, init='random')
km.fit(df) #df is the dataframe which contains points as coordinates
labels = km.labels_
plt.clf()
fig = plt.figure()
ax = fig.add_subplot(111, axisbg='w', frame_on=True)
fig.set_size_inches(18.5, 10.5)
# Plot the clusters on the map
# m is a basemap object
m.scatter(
[geom.x for geom in map_points],
[geom.y for geom in map_points],
20, marker='o', lw=.25,
c = labels.astype(float),
alpha =0.9, antialiased=True,
zorder=3)
m.fillcontinents(color='#555555')
plt.show()
推荐答案
我能够使图例与颜色相对应。正如Rutger Kassies所提到的,关键是对数据中的每个类别使用多个散点图。
代码如下:
import numpy as np
import matplotlib.pyplot as plt
# Setting various plot properties
plt.clf()
fig = plt.figure()
ax = fig.add_subplot(111, axisbg='w', frame_on=True)
fig.set_size_inches(18.5, 10.5)
# Creating a discrete colorbar
colors = plt.cm.rainbow(np.linspace(0, 1, 20))
current_plot_range = 0
previous_plot_range = 0
for i,c in enumerate(colors):
previous_plot_range += current_plot_range
current_plot_range = labels[labels==i].size
m.scatter(
[geom.x for geom in map_points[
previous_plot_range:previous_plot_range+current_plot_range]],
[geom.y for geom in map_points[
previous_plot_range:previous_plot_range+current_plot_range]],
20, lw=.25, marker='o',color = c, label=i, alpha =0.9, antialiased=True,
zorder=3)
plt.legend()
m.fillcontinents(color='#555555')
结果如下所示:
这篇关于使图例与matplotlib中散点的颜色相对应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:使图例与matplotlib中散点的颜色相对应
基础教程推荐
猜你喜欢
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01