【发布时间】:2023-03-29 01:45:01
【问题描述】:
我有一些数据
data = 16.9;23.8;11.3;5.8;9;2;8.6;7.3;2.6;0.3;0.9;2.7;1;8.7;4.5;0.4;2.8;8.9;0.4;5;2.7;8.4;3.9;8.8
我使用此代码进行了 K-means 聚类:
[idx2,C2] = kmeans(firstblik,2,'Distance','cityblock','Replicates',10);
figure;
plot(firstblik(idx2==1),'r.','MarkerSize',12)
hold on
plot(firstblik(idx2==2),'b.','MarkerSize',12)
legend('Cluster 1','Cluster 2','Location','NW')
hold off
idx2 自动将我的数据分为 2 组(1 和 2),如下所示:
idx2 = [2;2;2;2;2;2;2;2;1;1;1;1;1;2;1;2;1;1;1;1;1;2;1;2]
我为每个数据点制作了一个标签向量,我想在我的绘图上显示它们。
我尝试使用通常的 text() 函数进行标记,但我的 k-means 图被分成 2 部分:
我首先在同一个图中绘制所有 1,然后绘制所有 2
考虑到标签与我的数据矩阵的顺序相同,我如何标记这些点?
感谢任何帮助
谢谢!
附加信息:我的绘图被分成 2 部分,所以我已经提到 text() 函数将不起作用,因为在绘制 idx2 时数据的顺序没有保留
【问题讨论】:
-
我个人更喜欢给点着色而不是标记它们。
-
您好,感谢您的帮助。它们已经着色,但我需要单独识别每个点。我不认为这是重复的,因为我已经提到我尝试了 text() 函数。我的问题是数据被分成 2 部分,所以顺序没有保留
-
好吧,你应该指定你想用什么数据来标记这些点。如果它与
idx2是完全相同的。您应该指定您尝试过的text命令究竟是什么,它返回了什么但您期望什么,因为我确信它可以使用text完成。