在线客服
客服热线
400-664-9912
客服组:
阿趣客服
客服组:
在线客服
QQ:
Amy
服务时间:
8:00 - 24:00

关注官方微信平台

电话:400-664-9912

QQ:2850277929

邮箱:marketing@biotree.cn

地址:上海市嘉定区新培路51号焦点梦想园B栋5楼

Copyright 2012-2020 SHANGHAI BIOTREE BIOTECH CO., LTD. All rights reserved.上海阿趣生物科技有限公司. 版权所有 沪ICP备17019578号-1

干货分享 | R绘图:小提琴图和云雨图

分类:
阿趣动态
发布时间:
2022/02/16 11:29
浏览量

01 小提琴图

小提琴图介绍

小提琴图是箱线图与核密度图的结合,中间部分反映箱线图的信息,两侧反映密度图的信息。与箱线图相比,小提琴图的优势在于:除了显示数据的“集中性”和“离散性”,它还展示了任意位置的密度,可以直观看出数据的整体分布情况。

 

绘图过程

library(ggplot2)

library(ggsignif)

# 绘图使用R内置数据PlantGrowth

# weight列为植物干重测量值

# group列包含三个水平:对照和两种处理条件

data('PlantGrowth')

data<-PlantGrowth

# 设置对比组

compared<-list(c("ctrl", "trt1"),

                  c("ctrl","trt2"),

                  c("trt1","trt2"))

# 绘图框架准备

ggplot(data,aes(x=group,y=weight,fill=group))+

# 绘制小提琴图

geom_violin(trim=F,alpha=0.5)+

# 绘制箱线图

geom_boxplot(width=0.1,outlier.colour=NA)+

# 添加均值点(按需)

stat_summary(fun=mean, geom='point')+

# 添加显著性注释

# 默认wilcox.test,可根据数据分布选择t.test

geom_signif(comparisons=compared,

              y_position=c(7.2,7.7,8.2),

              map_signif_level=T) +

# 更改颜色及主题

scale_fill_manual(values=c('steelblue','#DB7093','#90be6d'))+theme_classic()+theme(

axis.line=element_line(colour='black'),

axis.text=element_text(colour='black'),

axis.title.x=element_blank(),

legend.position='top',

text=element_text(family='sans'))

 

结果展示

 

02 云雨图

云雨图介绍

云雨图是半小提琴图(“云”)与散点图(“雨”)的结合,在小提琴图的基础上增加了原始数据点的展示,既美观又包含更多的数据信息。

绘图过程

library(ggplot2)

library(gghalves)

data('PlantGrowth')

data<-PlantGrowth

ggplot(data,aes(x=group,y=weight,fill=group))+

# 绘制半小提琴图

geom_half_violin(trim=F,side='r',colour=NA)+

# 绘制箱线图

geom_boxplot(width=0.1,outlier.colour=NA)+

# 绘制散点

geom_half_dotplot(binwidth=0.12, dotsize=0.5,

stackdir='down',color=NA,position=position_nudge(x=-0.1))+

# 旋转坐标

coord_flip()+scale_fill_manual(values=c('steelblue','#DB7093','#90be6d')) +theme_classic() +theme(

axis.line=element_line(colour='black'),

axis.text=element_text(colour='black'),

axis.title.y=element_blank(),

legend.position='top',

text=element_text(family='sans'))

 

结果展示

 

>
>
>
干货分享 | R绘图:小提琴图和云雨图