Почему я не могу поместить текст в столбчатую диаграмму с накоплением (ggplot с использованием geom_bar) без потери всех моих данных? - PullRequest
0 голосов
/ 08 мая 2020
• 1000 цифры есть и делают график c более читабельным. Когда я добавляю "+ geom_text (aes (label = value))", числа появляются, но все данные (фактические столбцы) исчезают. Как я могу добавить значения, но при этом столбцы не исчезнут? И есть ли простой способ использовать другие значения (например, проценты) и поместить их в центр? Спасибо!

Вот мой код:

library(ggplot2)
library(extrafont)
library(ggthemes)


Percentage <- c(rep("100%", 2), rep("80%", 2), rep("60%", 2), rep("40%", 2), rep("20%", 2), rep("0%", 2), rep("NA", 2))
case_control <- rep(c("Cases","Controls"), 7)
value <- c(6, 0, 78, 9, 88, 7, 181, 365, 230, 307, 691, 1501, 2, 358)
del_df <- data.frame(Percentage, case_control, value)
del_df$Percentage <- factor(del_df$Percentage, levels = c("NA", "0%", "20%", "40%", "60%", "80%", "100%"))

ggplot(del_df, aes(fill = case_control, y = value, x = Percentage)) + geom_bar(position = "fill", stat = "identity")  + coord_flip() + theme_classic() + labs(x = "Gene Score Evidence Level", fill = "", y = "Cumulative Findings") + ggtitle("Deletions") 

Вот как выглядит график с кодом выше:

Когда я добавляю + geom_text(aes(label = value)) сразу после информации geom_bar(), мой график выглядит так:

1 Ответ

1 голос
/ 08 мая 2020

Вам просто нужен аргумент позиции в geom_text:

library(ggplot)

ggplot(del_df, aes(fill = case_control, y = value, x = Percentage)) +
  geom_bar(position = "fill", stat = "identity") +
  geom_text(position = "fill",label = value) + 
  coord_flip() +
  theme_classic() +
  labs(x = "Gene Score Evidence Level", fill = "", y = "Cumulative Findings") +
  ggtitle("Deletions")

enter image description here

Или, если хотите, вы можете использовать position_fill() :

ggplot(del_df, aes(fill = case_control, y = value, x = Percentage)) +
  geom_bar(position = "fill", 
           stat = "identity") +
  geom_text(position = position_fill(vjust = .5),
            label = value) + 
  coord_flip() +
  theme_classic() +
  labs(x = "Gene Score Evidence Level", fill = "", y = "Cumulative Findings") +
  ggtitle("Deletions")

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...