Указание положения метки в geom_text

#r

#r

Вопрос:

Я создал гистограмму, а позже добавил geom_text. Я хотел бы, чтобы метки начинались внизу каждой строки, я пытался использовать position 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)
 

Комментарии:

1. Можете ли вы опубликовать код? Я подозреваю, что вы помещаете y=0 inside aes() , который не будет работать, но что он будет работать с geom_text(aes(x = orig_dest, label = orig_dest), y=0)

2. Я попытался указать y вне aes, но он работает не так, как я хочу, поскольку он указывает среднюю точку моей метки. Я скоро опубликую код

3. @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)
 

график с текстом, выровненным по оси x

Комментарии:

1. Мне не хватало этого аргумента,,bottom» большое спасибо!