如何更改 fviz_silhouette 中的图例?
How can I change the legend in fviz_silhouette?
我正在尝试使用名为 "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"?
您可以简单地删除 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")
设置离散填充并移除颜色会产生预期的绘图。
结果:
我正在尝试使用名为 "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"?
您可以简单地删除 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")
设置离散填充并移除颜色会产生预期的绘图。
结果: