请查看如何就 SO 提出问题以及如何提供数据/示例。如果我们准备好所有信息,那么人们可以更轻松地为您提供帮助。
数据
我使用您的一些数据制作了一个表格:
library(tidyverse)
df <- tribble(~absent, ~present, ~total, ~session,
15,8,3,'s1',
12,11,23,'s2',
12,10,23,'s4',
14,9,23,'s5',
18,5,23,'s6',
17,6,23,'s7')
聚会
在制作图表方面,首先您需要通过调用gather 来组织数据,以便您可以将present/absent 变量传递给ggplot 中的fill 方法。
gather(df, key, value, -total, -session)
这样排列您的数据:
total session key value
<dbl> <chr> <chr> <dbl>
1 3. s1 absent 15.
2 23. s2 absent 12.
3 23. s4 absent 12.
4 23. s5 absent 14.
5 23. s6 absent 18.
6 23. s7 absent 17.
7 3. s1 present 8.
8 23. s2 present 11.
9 23. s4 present 10.
10 23. s5 present 9.
11 23. s6 present 5.
12 23. s7 present 6.
绘图
然后你可以调用ggplot创建一个柱形图,内容如下:
ggplot(df, aes(x = session, y = value)) +
geom_col(aes(fill = key))