gpt4 book ai didi

r - 并排分组条形图

转载 作者:行者123 更新时间:2023-12-01 13:18:45 25 4
gpt4 key购买 nike

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

我如何以一种方式绘制它,以便根据每一天并排绘制计划的审计和 noofemails?

       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()

enter image description here没有实现我希望看到的剧情。

最佳答案

使用这种数据格式,所以稍微新的列名,不再有反引号。 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")

enter image description here

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com