在 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 中指定标签的位置的主要内容,如果未能解决你的问题,请参考以下文章

AS3.0删除数组中指定位置的元素

js获取一个字符串中指定字符串第n次出现的位置

java要怎么修改csv中指定行列位置的值

如何在 CATransition 中指定开始和结束位置?

java怎样将一个字符串中指定位置的字符换掉,从而得到一个新的字符串?

如何使用 Rubymotion 在 ios 模拟器中指定用户位置