在R中绘制轮廓,每个群集具有不同的纹理

问题描述 投票:1回答:1

我正在进行聚类分析,并希望通过轮廓图验证聚类结果。从其他人的代码中了解到,情节函数为我绘制了轮廓,当我为我的情节指定3种颜色时,它给了我想要的东西,但是,如果我使用相同的方式指定密度和角度,则所有绘图都会在同时。我想给出不同纹理的不同簇。这有什么办法吗?

这是代码和结果(请忽略低轮廓宽度值):

dE2 <- dissE^2 #dissimilarity matrix
sw2 <- silhouette(clust.fit$clustering, dE2)
pdf("silhouette plot.pdf") 
sil_plot <- plot(sw2, col=c("#CEEAE6","#291B4F","#FCD42B"), 
                 angle = c(0,45,90), density = c(5,10,20), main = "silhouette plot")
dev.off()

r plot cluster-analysis
1个回答
1
投票

问题是您为angledensity指定了三个值 - 每个群集一个 - 但您必须为每个点指定一个值。您的三个值正在被回收,因此它们会出现在您的情节中的所有位置。相反,尝试:

sil_plot <- plot(sw2, col=c("#CEEAE6","#291B4F","#FCD42B"), 
                 angle = c(0,45,90)[clust.fit$clustering], 
                 density = c(5,10,20)[clust.fit$clustering], 
                 main = "silhouette plot")
© www.soinside.com 2019 - 2024. All rights reserved.