在fviz_cluster中调整输出

时间:2018-12-01 14:59:47

标签: r ggplot2 cluster-analysis

我想更改我的=A1 =FIND(" ",A1) =C2+1 or =FIND(" ",A1)+1 =LEN(A1) =C4-C2 or =LEN(A1)-FIND(" ",A1) =MID(C1,C3,C5) =MID(A1,FIND(" ",A1)+1,LEN(A1)-FIND(" ",A1)) =MID(A1,FIND(" ",A1)+1,LEN(A1)) =MID(A2,FIND(" ",A2)+1,LEN(A2)) =IF(ISERROR(FIND(" ",A2)),A2,MID(A2,FIND(" ",A2)+1,LEN(A2))) =IF(ISERROR(FIND(" ",A2)),"",MID(A2,FIND(" ",A2)+1,LEN(A2))) =IF(ISERROR(FIND(" ",A1)),A1,MID(A1,FIND(" ",A1)+1,LEN(A1))) =IF(ISERROR(FIND(" ",A1)),"",MID(A1,FIND(" ",A1)+1,LEN(A1))) =MID(A23,FIND(" ",A23)+1,LEN(A23)) or C23 =MID(C23,FIND(" ",C23)+1,LEN(C23)) =MID(MID(A23,FIND(" ",A23)+1,LEN(A23)),FIND(" ",MID(A23,FIND(" ",A23)+1,LEN(A23)))+1,LEN(A23)) =MID(MID(A1,FIND(" ",A1)+1,LEN(A1)),FIND(" ",MID(A1,FIND(" ",A1)+1,LEN(A1)))+1,LEN(A1)) =IF(ISERROR(FIND(" ",A1)),A1,IF(ISERROR(FIND(" ",MID(A1,FIND(" ",A1)+1,LEN(A1)))),MID(A1,FIND(" ",A1)+1,LEN(A1)),MID(MID(A1,FIND(" ",A1)+1,LEN(A1)),FIND(" ",MID(A1,FIND(" ",A1)+1,LEN(A1)))+1,LEN(A1)))) =IF(ISERROR(FIND(" ",A1)),"",IF(ISERROR(FIND(" ",MID(A1,FIND(" ",A1)+1,LEN(A1)))),"",FIND(" ",MID(A1,FIND(" ",A1)+1,LEN(A1)))+1,LEN(A1)))) 图的结果。具体来说,将图例更改为说“ Cluster”而不是“ cluster”,还要删除在图例中发现的卷曲线(我认为它们是字母,但不能完全确定)。

我知道fviz_clustfviz_cluster中的其他元素一起使用,因此我的第一个想法是更改情节中每个ggplot.中的图例标题,但是仍然导致原始图例显示。其次,我以为可以将scale_..._..对象引入scale_shape_manual(),但情节忽略了它。

代码:

ggplot

理想情况下,我想展示一个与fviz_cluster生成的图例非常相似的图例,但要在图例中的每个形状周围加上形状和颜色框。最后,标题为“群集”。

1 个答案:

答案 0 :(得分:2)

fviz_clusterggplot一起使用,您的代码中有一个错误,导致更改无法正确呈现。

关于将标题更改为“群集”,可以在scales-..._...guides中进行。在scale_shape_manual中指定新的形状值。

library(factoextra)
km.res <- kmeans(iris[, -5], 3)

p <- fviz_cluster(km.res, iris[, -5]) +
  scale_color_brewer('Cluster', palette='Set2') + 
  scale_fill_brewer('Cluster', palette='Set2') +
  scale_shape_manual('Cluster', values=c(22,23,24)) + 
  ggtitle(label='') 
p

enter image description here

通常可以通过指定geom_text(show.legend = F)来删除图例中的文本标签注释。我无法直接执行此操作,因此只能在fviz_cluster中绘制点,然后再利用geom_text产生的数据结构添加fviz_cluster

p2 <- fviz_cluster(km.res, iris[, -5], geom = c("point")) +
  scale_color_brewer('Cluster', palette='Set2') + 
  scale_fill_brewer('Cluster', palette='Set2') +
  scale_shape_manual('Cluster', values=c(22,23,24)) + 
  ggtitle(label='') 
p2 + geom_text(data=p2$data, aes(x=x, y=y, label=name, colour=cluster),
  vjust=-1, show.legend = F)

enter image description here