在 geom_text 中指定标签的位置
Posted
技术标签:
【中文标题】在 geom_text 中指定标签的位置【英文标题】:Specifying the position of a label in geom_text 【发布时间】:2021-03-12 15:26:39 【问题描述】:我创建了一个条形图,后来添加了 geom_text。我想让标签从每个条的底部开始,我尝试使用位置 vjust 和 hjust,还指定 y = 0,但它们不起作用,因为标签有不同的长度。如果可能的话,我想通过指定 geom_text 参数来解决它。这就是我的情节的一部分:
我想让每个标签都从相同的高度开始,或者就在每个条的底部
代码类似于我原来的代码
xxx <- sample(letters,1000, replace = T)
xxx <- data.frame(x=xxx)
text <- c(rep(c("b","adsasdasasd"),13))
library(tidyverse)
xxx %>%
count(x) %>%
ggplot(aes(x,n))+
geom_bar(stat="identity")+
geom_text(aes(x, label = text),y=0, angle=90)
【问题讨论】:
你能发布代码吗?我怀疑您将y=0
放在aes()
中,这不起作用,但它可以与geom_text(aes(x = orig_dest, label = orig_dest), y=0)
一起使用
我尝试在 aes 之外指定 y ,但它不能按我的意愿工作,因为它指定了标签的中点。我会尽快发布代码
@Alexlok 我发布了代码
【参考方案1】:
它应该同时使用y=0
指定相对于图形的位置,并使用hjust
指定文本相对于y
的位置:
library(tidyverse)
xxx <- sample(letters,1000, replace = T)
xxx <- data.frame(x=xxx)
text <- c(rep(c("b","adsasdasasd"),13))
xxx %>%
count(x) %>%
ggplot(aes(x,n))+
geom_bar(stat="identity")+
geom_text(aes(x, label = text), y=0, hjust="bottom", angle=90)
【讨论】:
我错过了那个 ,,bottom" 参数非常感谢!以上是关于在 geom_text 中指定标签的位置的主要内容,如果未能解决你的问题,请参考以下文章