首页 > 解决方案 > r 中的条形图,每个 x 变量有多个条形图

问题描述

如何绘制条形图,以便 x 轴上的每个变量(治疗组)显示两个条形,分别代表 avgRDm 和 avgSDM?我希望条形图由 avgRDm 和 avgSDM 着色。该图的数据如下图所示:

在此处输入图像描述

谢谢

标签: rbar-chart

解决方案


我是 的忠实粉丝ggplot,所以这里有一个选项。将数据从宽到长重塑是最简单(也是最整洁)的,然后将fill美学映射到key

library(tidyverse)
df %>%
    gather(key, val, -trt) %>%
    ggplot(aes(trt, val, fill = key)) +
    geom_col(position = "dodge2")

在此处输入图像描述

PS。对于以后的帖子,请使用可复制的方式共享数据,例如dput;屏幕截图从来都不是一个好主意,因为它要求受访者手动输入您的样本数据。


样本数据

df <- read.table(text =
"trt    avgRDM  avgSDM
F10    49.5    108.333
NH4Cl   12.583  50.25
NH4NO3  17.333  73.33
'F10 + ANU843'    6.0 7.333", header = T)

推荐阅读