我正在尝试使用带有 ggplot2 的分组条形图来绘制下表。

我如何以一种方式绘制它,以便根据每天并排绘制预定的审核和 noofemail?

       Email Type Sent Month Sent Day Scheduled Audits Noofemails
27          A          1       30                7        581
29          A          1       31                0          9
1           A          2        1                2          8
26          B          1       29             1048      25312
28          B          1       30               23        170
30          B          1       31               18        109
2           B          2        1                6         93
3           B          2        2                9         86
4           B          2        4                3         21

ggplot(joined, aes(x=`Sent Day`, y=`Scheduled Audits`, fill = Noofemails )) +
  geom_bar(stat="identity", position = position_dodge()) +
  scale_x_continuous(breaks = c(1:29)) +
  ggtitle("Number of emails sent in February") +
  theme_classic()

r - 并排分组条形图-LMLPHP
没有达到我希望看到的情节。

最佳答案

使用这种数据格式,所以列名稍微有点新,不再有反引号。 read_table(text = "") 是一种在 Stack 上共享小数据集的好方法

joined <- read.table(text =
   "ID  Email_Type Sent_Month Sent_Day Scheduled_Audits Noofemails
    27          A          1       30                7        581
    29          A          1       31                0          9
    1           A          2        1                2          8
    26          B          1       29             1048      25312
    28          B          1       30               23        170
    30          B          1       31               18        109
    2           B          2        1                6         93
    3           B          2        2                9         86
    4           B          2        4                3         21",
    header = TRUE)

这就是 ggplot2 真正喜欢长数据而不是宽数据的原因。因为它需要列名来创建美感。

因此,您可以使用函数 tidyr::gather() 将感兴趣的两列重新排列为一列带有标签的列和一列带有值的列。这增加了数据框中的行数,所以这就是为什么它被称为 long。
long <- tidyr::gather(joined,"key", "value", Scheduled_Audits, Noofemails)

ggplot(long, aes(Sent_Day, value, fill = key)) +
    geom_col(position = "dodge")

r - 并排分组条形图-LMLPHP

关于r - 并排分组条形图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51984868/

10-12 20:35