plt.scatter(data[:,0], data[:,1], c=labels) plt.scatter(centers[:,0], centers[:,1], marker='*', s=100, c='r')程序怎么修改可以增加图例
时间: 2024-01-14 10:02:59 浏览: 91
要在scatter图中添加图例,可以使用`legend()`函数。该函数的用法与上面提到的`plot()`函数相似,只需要在`scatter()`函数中添加`label`参数来指定每个数据集的标签,然后调用`legend()`函数即可。下面是修改后的代码:
```python
import matplotlib.pyplot as plt
# 假设有两个数据集,分别为data和centers
data = ...
labels = ...
centers = ...
# 绘制数据集
plt.scatter(data[:,0], data[:,1], c=labels, label='data')
# 绘制聚类中心
plt.scatter(centers[:,0], centers[:,1], marker='*', s=100, c='r', label='centers')
# 添加图例
plt.legend()
# 显示图像
plt.show()
```
在上面的代码中,我们在`scatter()`函数中添加了`label`参数,并分别为数据集和聚类中心指定了标签。然后,调用`legend()`函数来添加图例,函数会自动根据标签生成相应的图例。最后,使用`show()`函数来显示图像。
相关问题
plt.scatter(data[:,0], data[:,1], c=labels) plt.scatter(centers[:,0], centers[:,1], marker='*', s=100, c='r')
这是一个用于可视化K-Means聚类结果的代码片段。其中,data是原始数据集,labels是每个数据点所属的聚类簇标签,centers是聚类簇的中心点。plt.scatter函数用于绘制散点图,第一个参数是x轴数据,第二个参数是y轴数据,c参数指定每个数据点的颜色,marker参数指定中心点的标记形状,s参数指定中心点的大小,c参数指定中心点的颜色。
完成填空 import numpy as np import matplotlib.pyplot as plt from sklearn.cluster import KMeans from sklearn.datasets import make_blobs # 生成样例数据集 300条数据,4个类 std=2 data, labels = make_blobs( ) # 数据可视化 plt.scatter(data[:, 0], data[:, 1], s=50) plt.title("原始数据分布") plt.show() # K-means聚类分析 kmeans = #DBSCAN聚类分析 # 可视化聚类结果 plt.scatter(data[:, 0], data[:, 1], c=, s=50, cmap='viridis') #画出类中心 plt.scatter( , c='red', marker='x', s=200) plt.title("K-means聚类结果") plt.show() # 可视化聚类结果 plt.scatter(data[:, 0], data[:, 1], c=, s=50, cmap='viridis') #画出类中心 plt.scatter( , c='red', marker='x', s=200) plt.title("DBSCAN聚类结果") plt.show()
完成代码如下:
```
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans, DBSCAN
from sklearn.datasets import make_blobs
# 生成样例数据集 300条数据,4个类 std=2
data, labels = make_blobs(n_samples=300, centers=4, cluster_std=2)
# 数据可视化
plt.scatter(data[:, 0], data[:, 1], s=50)
plt.title("原始数据分布")
plt.show()
# K-means聚类分析
kmeans = KMeans(n_clusters=4)
kmeans.fit(data)
# DBSCAN聚类分析
dbscan = DBSCAN(eps=1.5, min_samples=5)
dbscan.fit(data)
# 可视化聚类结果
plt.scatter(data[:, 0], data[:, 1], c=kmeans.labels_, s=50, cmap='viridis') # K-means聚类结果
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], c='red', marker='x', s=200) # 画出类中心
plt.title("K-means聚类结果")
plt.show()
plt.scatter(data[:, 0], data[:, 1], c=dbscan.labels_, s=50, cmap='viridis') # DBSCAN聚类结果
plt.scatter(data[dbscan.core_sample_indices_][:, 0], data[dbscan.core_sample_indices_][:, 1], c='red', marker='x', s=200) # 画出核心点
plt.title("DBSCAN聚类结果")
plt.show()
```
阅读全文