gpt4 book ai didi

R ggplot2 : add text to geom_tiles

转载 作者:行者123 更新时间:2023-12-04 00:39:57 24 4
gpt4 key购买 nike

我需要显示聚类的结果。有关演示,请参阅

library(ggplot2)
df = data.frame(cluster=c(1,1,2,2,2,3),states=c("AB","IN","UN","CH","LO","OK"))
p2<-ggplot(df,aes(x=1,y=states,fill=factor(cluster)))+
geom_tile()+
geom_text(aes(label=cluster))
p2

enter image description here

我怎样才能
  • 将聚类数相同的瓦片放在一起?
  • 每个集群只显示 1 个集群号?

  • 我上面的代码是可重复的,如果你能稍微调整一下,我很感激。谢谢。

    最佳答案

    您可以使用函数 reorder() 根据集群更改因子级别的顺序.

    df$states<-reorder(df$states,df$cluster)

    然后使用重新排序的数据,在 pos 处创建新的数据框计算为 states 的平均位置转换为数字。
    library(plyr)
    df2<-ddply(df,.(cluster),summarise,pos=mean(as.numeric(states)))

    现在使用新的数据框来添加标签。
    ggplot(df,aes(x=1,y=states,fill=factor(cluster)))+
    geom_tile()+
    geom_text(data=df2,aes(y=pos,label=cluster))

    enter image description here

    关于R ggplot2 : add text to geom_tiles,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33097661/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com