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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在R中绘制轮廓,每个群集具有不同的纹理相关的知识,希望对你有一定的参考价值。

我正在进行聚类分析,并希望通过轮廓图验证聚类结果。从其他人的代码中了解到,情节函数为我绘制了轮廓,当我为我的情节指定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()

答案

问题是您为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")

以上是关于在R中绘制轮廓,每个群集具有不同的纹理的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL ES 2.0 中具有不同纹理的许多对象

在Vulkan中使用纹理绘制多个对象

尝试在具有四边形的XNA中绘制带纹理的立方体基元

绘制两个形状的共同轮廓,每个形状在不同的 UIView - ObjC

如何加快 OpenGL 中纹理的绘制速度? (3.3+/4.1)

GLSL-片段着色器不同部分的精度不同