gpt4 book ai didi

r - ggplot2 - 堆叠/躲避条形图

转载 作者:行者123 更新时间:2023-12-02 05:00:25 27 4
gpt4 key购买 nike

我在制作条形图时遇到问题,其中 y 轴不是计数,而是来自变量的值。

我使用 stat=identity,这对一个变量来说没问题。但是,如果我有两个变量并想创建一个堆叠/闪避条形图怎么办?

我这里有一些模拟数据:

foo <- data.frame(case=c('A','B','C'), var1=rnorm(3), var2=rnorm(3))

所以我在 x 轴上的三个案例是 A、B 和 C。我想将 var1 和 var2 的值绘制为条形图。谢谢!

最佳答案

首先,更改您的示例数据。制作数据框时,您不需要 cbind(),因为在这种情况下,您将所有列都作为因子。

foo <- data.frame(case=c('A','B','C'), var1=rnorm(3), var2=rnorm(3))

要为条形图使用两个变量,最简单的方法是将数据从宽格式融化为长格式。

library(reshape2)
foo.long<-melt(foo)
foo.long
case variable value
1 A var1 0.7150827
2 B var1 -0.5279363

现在使用 value 作为 y 值,使用 variable 作为填充。 stat="identity"position="dodge" 将确保绘制实际值并跟踪条形图。

ggplot(foo.long, aes(case,value,fill=variable))+
geom_bar(position="dodge",stat="identity")

enter image description here

关于r - ggplot2 - 堆叠/躲避条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17182938/

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