我通过Kmeans集群绘制集群图。我想更改坐标,这里图像中的变量位于第4坐标,其余变量位于第2和第3坐标。所以我想在第二坐标中绘制一个变量,在第一坐标和第四坐标中绘制其余变量。另外,我想把情节变成黑色
我使用的代码:
df <- na.omit(HLA_A)
df <- scale(df)
km.res <- eclust(df, "kmeans", k = 6,
nstart = 25, graph = TRUE)
head(km.res$cluster, 15)
fviz_cluster(km.res, ellipse.type = "norm", ellipse.level = 0.6, repel = TRUE)
答案 0 :(得分:0)
没有您的数据,但是您可以尝试以下操作。基本上,您可以取回data.frame进行绘图,然后将其传递给ggplot,指定几何图形等:
library(factoextra)
library(ggplot2)
library(ggrepel)
set.seed(122)
df = scale(iris[,-5])
df = df[sample(nrow(df),40),]
km.res <- eclust(df, "kmeans", k = 6,nstart = 25, graph = FALSE)
plt = fviz_cluster(km.res, ellipse.type = "norm", ellipse.level = 0.6, repel = TRUE)
print(plt)
ggplot(plt$data,aes(x=x,y=y,shape=cluster)) +
geom_point() + scale_x_reverse() + theme_bw() +
geom_text_repel(aes(label=name)) +
stat_ellipse(level=0.7)