график geom_bar с дублирующими значениями position = "dodge" и geom_text - PullRequest
0 голосов
/ 12 июня 2018

Я посмотрел на SO и увидел много постов о позиции значений geom_text, связанных с барами, но я не увидел ничего, связанного с моим вопросом.Извините, если я пропустил это.Я пытаюсь создать гистограмму в ggpot2 с position="dodge" и пытаюсь поместить итоговое значение над каждой группой баров.Я близок, но когда я добавляю метку geom_text, она показывает кучу значений.В идеале я хочу просто удалить все значения, кроме одного на группу.Мой воспроизводимый пример ниже.Заранее благодарим за любую помощь, которую вы можете предложить!

gather.iris <- iris %>% 
gather(key=flower_att, value=measurement, -Species) %>% 
  mutate(sum_value=ifelse(Species=="setosa", 5, ifelse(Species=="versicolor", 7, 9)))

ggplot(data=gather.iris, aes(x=Species, y=measurement, fill=flower_att)) +
  geom_bar(stat="identity", position="dodge") +
  geom_text(aes(label=sum_value), vjust=-0.5, check_overlap=T)

enter image description here 1

1 Ответ

0 голосов
/ 12 июня 2018

Спасибо Грегору за быстрый ответ.Я не понимал, что мне нужно было выбрать топор и значение y для текста, как если бы я был сюжетом.Вот не очень красивый ответ на вопрос.

gather.iris <- iris %>% gather(key=flower_att, value=measurement, -Species) %>% 
  mutate(sum_value=ifelse(Species=="setosa", 5, ifelse(Species=="versicolor", 7, 9)))

ggplot(data=gather.iris, aes(x=Species, y=measurement, fill=flower_att)) +
  geom_bar(stat="identity", position="dodge") +
  geom_text(aes(y=as.numeric(Species), label=sum_value), vjust=-0.5, check_overlap=T)

enter image description here

...