ggplot показывает доли в скобках рядом с подсчетами на графиках геом-баров - PullRequest
1 голос
/ 25 марта 2020

Предположим, у меня есть простой фрейм данных с категориями, количеством и долями, которые я хочу построить, используя ggplot

cat1 <- c("category1",
          "category2",
          "category3",
          "category4",
          "category5")
count <- c(12, 43, 31, 25, 11)

df <- data.frame(cat1, count)
df$share <- df$count / sum(df$count) * 100

require(ggplot2)

ggplot(df, aes(cat1, count)) +
  geom_bar(stat = "identity") +
  geom_text(aes(label = round(count, 2)), vjust = "bottom", size = 5)

Есть ли способ показать доли в скобках рядом с считается как метки в верхней части каждого столбца, как показано на скриншоте ниже (взято из этого блога )?

enter image description here

Ответы [ 2 ]

2 голосов
/ 25 марта 2020

Попробуйте это

cat1 <- c("category1",
          "category2",
          "category3",
          "category4",
          "category5")
count <- c(12, 43, 31, 25, 11)

df <- data.frame(cat1, count)
df$share <- df$count / sum(df$count) * 100
df$label <- paste0(round(df$count, 2), " (", round(df$share, 1), "%)")
require(ggplot2)
#> Lade nötiges Paket: ggplot2

ggplot(df, aes(cat1, count)) +
  geom_bar(stat = "identity") +
  geom_text(aes(label = label), vjust = "bottom", size = 5)

Создано в 2020-03-25 пакетом Представить (v0.3.0)

1 голос
/ 25 марта 2020

Вы можете добавить текст вручную

ggplot(df, aes(cat1, count)) +
  geom_bar(stat = "identity") +
  annotate("text", x = 1, y = 14, label = "[square]",hjust=0.5, vjust=0, 
           cex=5, fontface=2, col="black")

enter image description here

...