首页 > 解决方案 > 如何在 R ggplot 中创建具有标准偏差和具有不同 X 轴的构面的条形图?

问题描述

我的数据看起来像: 在此处输入图像描述

我想生成与计数(log)相关的样本(Sample2)的条形图,并为每个属创建方面,如: 在此处输入图像描述

我使用了以下代码:

library (ggplot2)
library (ggpubr)
p <- ggbarplot (dataset, x = "Sample2", y = "log", add = c("mean_se", "jitter"),  add.params = list(shape = "Origin"), fill = "Origin", palette = c("orange", "blue", "red"),  ylim = c(5, 10))
p <- p + facet_grid(~Genera, scales = "free_x", space = "free_x")

但我得到: 在此处输入图像描述

我找不到这个问题的答案。如果有人可以帮助我,我将不胜感激。

标签: rggplot2

解决方案


我对 ggpubr 了解不多,但这里有一个大纲,你可以如何用 vanilla ggplot2 构建一个类似的条形图。

library(ggplot2)

# I'm guessing this is roughly the shape of your data
set.seed(0)
df <- data.frame(
  Sample2 = rep(c(1:18), each = 5),
  log = rnorm(90, rep(rnorm(18), each = 5)) + 5,
  Genera = rep(c("Halomonas", "Pseudoalteromonas", "Psychrobacter"), each = 30)
)
df$Origin <- sample(c("Cheese", "Environmental", "Food"), 18, replace = TRUE)[df$Sample2]



ggplot(df, aes(as.factor(Sample2), log, fill = Origin)) +
  geom_bar(stat = "summary", fun = mean) +
  geom_errorbar(stat = "summary", fun.data = mean_se) +
  geom_jitter(width = 0.2) +
  facet_grid(~ Genera, scales = "free_x")

reprex 包(v0.3.0)于 2020 年 10 月 4 日创建


推荐阅读