我正在尝试使用一个名为"factoextra“的R库来生成一些轮廓。不幸的是,我最终遇到了一个问题。让我们用"iris“数据集来看下面的例子。
library(factoextra)
library(cluster)
set.seed(123)
data("iris")
iris.scaled <- scale(iris[, -5])
# K-means clustering
km.res <- kmeans(iris.scaled, 3, nstart = 2)
# Visualize silhouhette information
sil <- silhouette(km.res$cluster, dist(iris.scaled))
fviz_silhouette(sil)+
scale_fill_discrete(labels=c("a","b","c"))我尝试添加一个特定的图例"a","b","c“。

如您所见,图例重复显示"a“、"b”、"c“,然后显示"1”、"2“、"3”。有没有办法只显示"a","b","c"?
发布于 2019-08-09 19:21:04
您可以简单地删除color指南:
sil <- silhouette(km.res$cluster, dist(iris.scaled))
fviz_silhouette(sil)+
scale_fill_discrete(labels=c("a","b","c"))+
guides(col=FALSE)如果您查看源代码,您可以看到控制映射的代码行:
mapping <- aes_string(x = "name", y = "sil_width",
color = "cluster", fill = "cluster")设置离散填充并删除颜色将生成预期的绘图。
结果:

https://stackoverflow.com/questions/57428431
复制相似问题