[英]Plot multiple columns with geom_bar()
我最近开始在 R 中编程,我正在尝试使用 ggplot2 对 plot 几列进行编程。
我的数据框如下所示:
mydf <- data.frame(Names, Less, Equal, More)
mydf
Names Less Equal More
1 Sarah 8 25 8
2 Mark 13 13 13
3 Peter 11 26 5
为了了解我是如何创建这个数据框的,“Less”看起来像这样:
[1] 8 13 11
我希望能够比较每个名字的分数,如果他们的分数更低、相等或更高。 在 x 轴上,我实际上想要 plot “更多”、“更少”和“相等”,每个名称都有不同的条形。 在 y 轴上,我想打印分数(例如 8、25...)。 我想为每个名称创建多个栏。
我已经尝试了几件事,但我只成功地在 y 轴上添加了一个值:
test <- ggplot(mydf, aes(x= Names, y= More)) +
geom_bar(stat = "identity")
我感觉问题出在我的数据组织方式上,但我不确定。
您需要将数据更改为长格式,其中一列用于值,另一列用于标签:
Names values label
1 Sarah 8 less
2 Mark 13 less
3 Peter 11 less
1 Sarah 25 equal
2 Mark 13 equal
3 Peter 26 equal
1 Sarah 8 more
2 Mark 13 more
3 Peter 5 more
那么代码将是
test <- ggplot(mydf, aes(x= label, y= values, fill=names)) +
geom_bar(position="dodge", stat="identity")
test
这是一个例子: https://www.r-graph-gallery.com/48-grouped-barplot-with-ggplot2.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.