ggplot2 размещает метки данных (geom_text) в неправильном порядке - PullRequest
0 голосов
/ 18 октября 2018

У меня проблема с неправильным размещением меток данных с использованием ggplot2.

К сожалению, другие вопросы и ответы SE по этой теме не очень проницательны ( пример ), поэтому мне нужно обратиться с реперс.У меня есть следующие данные:

df = as.data.frame(structure(list(geotype = c('urban','urban','urban','urban','suburban','suburban','suburban','suburban'),
                              limitations = c('all','some','all','some','all','some','all','some'),
                              metric = c('lte','lte','5g','5g','lte','lte','5g','5g'),
                              capacity=c(12,11,5,4,14,10,5,3))))

Если я тогда попытаюсь построить эти данные, используя этот код:

ggplot(df, aes(x = geotype, y = capacity, fill=metric)) + geom_bar(stat="identity") + 
 facet_grid(~limitations) +  
 geom_text(data = df, aes(geotype, capacity + 2, label=capacity), size = 3) 

Я получу неправильный порядок маркировки:

enter image description here

Я играл с порядком переменных для возрастов (например, оборот (емкость)), но я не могу решить проблему.Может ли кто-нибудь дать более полный ответ всему сообществу SE о том, как поступить с заказом этикетки?

Ответы [ 3 ]

0 голосов
/ 18 октября 2018

Вам необходимо вызвать аргумент position в geom_text, чтобы сопоставить заполненные эстетические данные с geom_bar и сообщить функции, что данные сложены.

ggplot(df, aes(x = geotype, y = capacity, fill=metric)) + 
  geom_bar(stat="identity") + 
  geom_text(data = df, aes(geotype, capacity, label=capacity), size = 3, vjust = 2,
           position = position_stack()) +
  facet_grid(~limitations)

enter image description here

0 голосов
/ 18 октября 2018

Вы можете установить метки в ggplot почты aes

ggplot(df, aes(x = geotype, y = capacity, fill = metric, label = capacity ) ) + 
  geom_col() + 
  geom_text( size = 3, position = position_stack( vjust = 0.5 ) ) +
  facet_grid( ~limitations )

enter image description here

0 голосов
/ 18 октября 2018

Как то так?Стек позиций.

g <- ggplot(df, aes(x = geotype, y = capacity, fill = metric, label = 
capacity))
g + geom_col() + facet_grid(~limitations) +
geom_text(size = 3, vjust =3, position = position_stack())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...