在y轴上使用计数,但将百分比和计数用作标签

时间:2019-02-09 23:00:42

标签: r ggplot2 geom-bar geom-text

我正在尝试从一个数据框在R中创建条形图,该数据框的y轴上有计数,但将百分比和计数的连接显示为标签。

我的数据框如下:

ID    Response
1    No
2    Yes
3    No
..    ..

我希望得到的最终结果将是下面的图表

enter image description here

3 个答案:

答案 0 :(得分:1)

我会尝试以下类似方法。您正在使用ignore_index=Truedef run_cmd(beta: bool): { cmd = "cloud create {}".format(self.name) if beta: cmd = "cloud beta create {}".format(self.name) } 非常棒;我想按习惯我有时会使用诸如summarize之类的基本函数。

mutate

答案 1 :(得分:1)

这是another question上针对SO的有用解决方案:

ORDER BY

enter image description here

答案 2 :(得分:1)

这应该可以帮助您:

library(tidyverse)

df %>%
  group_by(Response) %>%
  summarise(count = n()) %>%
  mutate(Label = paste0(count, " - ", round(count / sum(count) * 100, 2), "%")) %>%
  ggplot(aes(x = Response, y = count)) +
  geom_bar(stat = 'identity', fill = 'lightblue') +
  geom_text(aes(label = Label)) +
  theme_minimal()

上述解决方案可以是创建一个Label列,然后根据需要将其传递给geom_text

虚拟数据帧:

df <- data.frame(
  ID = c(1:100),
  Response = c(rep("Yes", 60), rep("No", 40))
)