跟着 Cell 学作图 | 柱状图+误差棒+蜂群图

简介: 跟着 Cell 学作图 | 柱状图+误差棒+蜂群图

bar_errorbar_point

今天我们复现一幅2022年8月发表在Cell上的一副柱状图配色挺好看的。

「Title:」Targeted suppression of human IBD-associated gut microbiota commensals by phage consortia for treatment of intestinal inflammation

「DOI:」10.1016/j.cell.2022.07.003

本期图片

figure

图为不同分组之间微生物Shannon指数差异。

结果展示

result1

示例数据和代码领取

点赞在看 本文,分享至朋友圈集赞20个保留30分钟,截图发至微信mzbj0002领取。

「木舟笔记2022年度VIP可免费领取」

木舟笔记2022年度VIP企划

「权益:」

  1. 「2022」年度木舟笔记所有推文示例数据及代码(「在VIP群里实时更新」)。
    data+code
  2. 木舟笔记「科研交流群」
  3. 「半价」购买跟着Cell学作图系列合集(免费教程+代码领取)|跟着Cell学作图系列合集

「收费:」

「99¥/人」。可添加微信:mzbj0002 转账,或直接在文末打赏。

绘制

# Load package
library(ggplot2)
library(tidyverse)
library(plyr)
library(ggbeeswarm)
library(ggsignif)
# create data
data <- data.frame(
  Ctrl = abs(rnorm(100,4.5,0.3)),
  CD = abs(rnorm(100,4,0.3)),
  UC =abs(rnorm(100,4.2,0.5))
)
head(data)
# wide to long
dt_long <- gather(data,group,value)
head(dt_long)
str(dt_long)
dt_long$group <- factor(dt_long$group,levels = c('Ctrl','CD','UC'))
#+++++++++++++++++++++++++
# Function to calculate the mean and the standard deviation for each group
#+++++++++++++++++++++++++
# data : a data frame
# varname : the name of a column containing the variable to be summariezed
# groupnames : vector of column names to be used as grouping variables
data_summary <- function(data, varname, groupnames){
  summary_func <- function(x, col){
    c(mean = mean(x[[col]], na.rm=TRUE),
      sd = sd(x[[col]], na.rm=TRUE))
  }
  data_sum<-ddply(data, groupnames, .fun=summary_func,
                  varname)
  data_sum <- rename(data_sum, c("mean" = varname))
  return(data_sum)
}
dt_sum <- data_summary(dt_long, varname="value",groupnames="group")
head(dt_sum)
# draw
ggplot() + 
  geom_bar(dt_sum,mapping = aes(x=group, y=value, fill=group),
           stat="identity",width=.6,alpha = 0.5,position=position_dodge()) +
  geom_errorbar(dt_sum,mapping = aes(x=group, y=value,ymin=value-sd, ymax=value+sd), 
                width=.4,position=position_dodge(.8)) +
  geom_beeswarm(dt_long,mapping = aes(x=group, y=value, fill=group),
              shape = 21,color = 'black',size = 3.5,cex = 1.2,stroke = 0.6)+
  geom_signif(dt_long,mapping = aes(x=group, y=value),
              comparisons = list(c("Ctrl","CD"),c("Ctrl","UC")),
              test = "t.test",
              step_increase = 0.2,
              tip_length = 0,
              textsize = 6,
              size = 1,
              map_signif_level = T)+
  scale_fill_manual(values=c('#73bbaf','#d15e67','#6c43a6'))+
  scale_y_continuous(expand = c(0,0),limits = c(0,6.5))+
  labs(x = "", y = "Shannon index")+
  theme_classic()+
  theme(axis.line.x=element_line(color="black",size=0.8),
        axis.line.y=element_line(color="black",size=0.8),
        axis.ticks.x=element_line(color="black",size=0.8),
        axis.ticks.y=element_line(color="black",size=0.8),
        axis.text.x = element_text(color="black",size=14),
        axis.title.y=element_text(color="black",size=14))
ggsave('bar_errorbar_point.pdf',width = 5,height = 6)

result1

往期内容

  1. 即将满员!CNS图表复现|生信分析|R绘图 资源分享&讨论群!(内附推文合集)
  2. 跟着 Nature Communication 学作图 | 热图+格子注释(通路富集相关)
  3. 跟着 Nature Communication 学作图 | 百分比堆积柱状图+卡方检验
  4. ggbiplot | 带箭头的主成分分析(PCA)图绘制
相关文章
|
机器学习/深度学习 Windows
解决R语言出现“二进列运算符中有非数值参数”的错误!
解决R语言出现“二进列运算符中有非数值参数”的错误!
2672 0
解决R语言出现“二进列运算符中有非数值参数”的错误!
|
5月前
|
机器学习/深度学习 数据采集 API
Python自动化解决滑块验证码的最佳实践
Python自动化解决滑块验证码的最佳实践
|
数据挖掘
这图怎么画| 批量小提琴图+箱线图+散点+差异分析
这图怎么画| 批量小提琴图+箱线图+散点+差异分析
605 0
|
SQL 机器学习/深度学习 分布式计算
大数据平台之Spark
Apache Spark 是一个开源的分布式计算系统,主要用于大规模数据处理和分析。它由UC Berkeley AMPLab开发,并由Apache Software Foundation维护。Spark旨在提供比Hadoop MapReduce更快的处理速度和更丰富的功能,特别是在处理迭代算法和交互式数据分析方面。
331 0
|
编解码
MATLAB | 科研绘图第十二期带误差棒的柱状图
MATLAB | 科研绘图第十二期带误差棒的柱状图
476 0
|
编解码
MATLAB | SCI 绘图配色第 2 期 | 三维柱状图 | 画江湖之不良人
MATLAB | SCI 绘图配色第 2 期 | 三维柱状图 | 画江湖之不良人
270 0
|
数据挖掘
R实战 | 环状热图(circos)
R实战 | 环状热图(circos)
597 0
|
数据处理
R语言-数据处理:dplyr包的summarise函数汇总用法
summarise 函数是dplyr中非常常用的函数,可以快速、高效地计算出每个变量的统计量。本文分享了这个函数的一些最常用用法以供参考
2098 0
|
数据可视化
R可视化学习(3)--误差棒图
篇介绍如何利用R软件和ggplot2制作误差线的条形图,我们可以使用如下几个函数制作不同类型的误差线图形: • geom_errorbar() • geme_linerange() • geom_pointrange() • geom_crossbar() • geom_errorbarh()
568 0
|
数据采集 数据挖掘 数据处理
R语言-数据处理:dplyr包的distinct 条件去重用法
dplyr中的distinct函数是一种非常实用的数据清洗函数,它可以帮助我们快速、方便地去除数据框中的重复行。 本文简单分享了在R语言中进行数据框条件去重的一些较为常用的操作方法,以供参考
3933 0