我正在尝试使用fviz_nbclust
来增加绘图的字体/标签大小。我尝试查找“ fviz_nbclust”,“ size”,“ font”,“ increase”的各种组合,但没有显示任何内容。
当我只做plot()
时,我在this post上看到了一个建议,它是可行的,但不能仅与fviz_nbclust
一起使用。我还检查了软件包factoextra
(here)的文档,但在第49/50页上并没有看到我认为可能有帮助的任何内容。
这是我的代码:
set.seed(123)
wss <- function(k) {
kmeans(datT, k, nstart = 10)$tot.withinss
}
k.values <- 1:15
wss_values <- map_dbl(k.values, wss)
pdf("within_clus_sum1.pdf",width = 11, height = 8)
plot(k.values, wss_values,
type="b", pch = 19, frame = FALSE,
xlab="Number of clusters K",
ylab="Total within-clusters sum of squares",
cex.lab=1.5, cex.axis=1.5, cex.main=1.5, cex.sub=1.5)
dev.off()
pdf("within_clus_sum2.pdf",width = 11, height = 8)
fviz_nbclust(datT, kmeans, method = "wss")
dev.off()
您可以看到,我只是想了解使用肘形法确定的最佳簇数。
我希望做的是增加使用fviz_nbclust
生成的图中的标题,标签和刻度线的大小,因为我要在其中添加文字,如果我将这些图连续放置在两三个中,它们几乎难以辨认。任何人都可以提供的任何帮助将不胜感激。
答案 0 :(得分:0)
factoextra软件包使用ggplot2生成图。这意味着您可以使用ggplot2主题更改图的外观。例如:
elbow.plot <- fviz_nbclust(datT, kmeans, method = "wss", k.max = 10, verbose = F, nboot = 100)
# change size and color of title and x axis labels
elbow.plot + theme(axis.text.x = element_text(size = 15, color = "red"), title = element_text(size = 15, color = "blue")
您可以了解有关ggplot2的更多信息,例如here。
如果您想更改线条的颜色和大小,我意识到这有点棘手,因为实际上fviz_nbclust函数调用了ggpubr函数,该函数是ggplot2的包装器(就这么简单)。唯一可以更改的参数是线条颜色:
fviz_nbclust(datT, kmeans, method = "wss", k.max = 10, verbose = F, nboot = 100, linecolor = "red")
要更改其他参数,您可以执行以下操作:
fviz_nbclust(datT, kmeans, method = "wss", k.max = 10, verbose = F, nboot = 100) +
theme(axis.text.x = element_text(size = 15)) +
geom_line(aes(group = 1), color = "red", linetype = "dashed",size = 3) +
geom_point(group = 1, size = 5, color = "blue")
这基本上将图重新绘制在顶部,虽然不是最佳选择,但可以快速解决。