r - 如何在 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")
我找不到这个问题的答案。如果有人可以帮助我,我将不胜感激。
解决方案
我对 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 日创建
推荐阅读
- javascript - 无法访问函数返回的值
- reactjs - 无法使用 es6 创建反应元素
- reason - 设计reasonml react组件时如何扩展HTML属性接口?
- javascript - 如何在纯原生 JavaScript 中隐藏 API 密钥?
- c - 运行 2 个子进程时遇到问题
- reactjs - FullCalendar (React) - 获取当前周/月的日期
- javascript - 保存多个项目时 AsyncStorage 无法正常工作
- vue.js - VueJS / Electron:如何让“child_process”工作?
- java - 如果在 JAVA 中后递减的优先级高于前递增,那么为什么以下代码输出为 22.0 而不是 20.0 ?
- android - Google Play 游戏 - 无法登录 - 加载播放器