我是使用 ggplot2 的新手,并且在绘制图形时遇到了问题。我环顾四周,但我发现的解决方案不适用于我的数据。这是我的 DF 的一个例子
Count1 Count2 Color
3 4 Red
3 6 Green
5 2 Red
2 0 Blue
我只想将其绘制为条形图。我希望 X 轴由颜色组成,我希望在 y 轴上绘制 Count1 和 Count2 变量。例如,用于显示green
颜色的两个条形将上升到数字 3(对于count1
)和数字 6(对于count2
)。同样,red
栏将上升到 8 (for count1
) 和 6 (for count2
) 有谁知道如何去做?谢谢!
打破上面@alistaire的答案,这样你就可以了解正在发生的事情
您的数据
color_df <- data.frame(Count1 = c(3,3,5,2), Count2 = c(4,6,2,0), Color = c("Red", "Green", "Red", "Blue"))
将每种颜色的计数相加
library(dplyr)
sum_df <- color_df %>%
group_by(Color) %>%
summarise_all(sum)
sum_df
ggplot 在一列中需要两个计数,另一列描述哪个是哪个。比较sum_df
和tidy_df
library(tidyr)
tidy_df <- sum_df %>%
gather(CountName, Count, -Color)
最后是剧情。道奇将它们并排放置。geom_col
使用Count
变量的高度。geom_bar
将计算观察次数本身。
library(ggplot2)
ggplot(tidy_df, aes(x = Color, fill = CountName, y = Count)) +
geom_col(position = "dodge")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句