R语言入门——小提琴图

写在前面:

定义:Violin plot,和Boxplot(箱线图)一样,也是一种用作显示一组数据分散情况资料的统计图,其形状类似小提琴。它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比较。

解读:

小提琴图是【箱线图】与【核密度图】的结合,箱线图展示了分位数的位置,核密度图则展示了任意位置的密度,通过小提琴图可以知道哪些位置的数据点聚集的较多,因其形似小提琴而得名。如下图所示,其外围的曲线宽度代表数据点分布的密度,中间的箱线图则和普通箱线图表征的意义是一样的,代表着中位数、上下分位数、极差等。
与普通箱线图相比,小提琴图更能反应数据整体的分布情况(密度变化)



四分位间距:就是你数据整体(从小到大)分为四份,这样你就有三个四分位数(Quartile)了,第三四分位数➖第一四分位数的差值就是四分位间距(InterQuartile Range, IQR),简称四分位距。他的特点是不收 极大值或者是极小值的影响,常用于描述非正态分布资料的离散程度,数值越大,其变异度越大,反之,变异度越小。理论上,IQR可以是任何正值。

数据准备:
R代码:
install.packages("ggplot2")
install.packages("ggpubr")
library(ggpubr)           

#读取
rt <- read.delim("input.txt")

#更改X轴顺序
rt$Stage <- factor(rt$Stage, levels = c("Stage I" ,  "Stage II" , "Stage III", "Stage IV"))
unique(rt$Stage)


#作图
p <- ggviolin(rt, 
         x="Stage", #x轴内容
         y="SEMA3A", #y轴内容
         fill = "Stage", 
         width = 1, #小提琴图的宽度
         add = "boxplot", 
         add.params = list(fill="white"))+ 
         stat_compare_means(method = "wilcox.test", #t.test  wilcox.test   anova  kruskal.test
                            comparisons = list(c("Stage I" ,  "Stage II"),
                                               c("Stage I",  "Stage III"),
                                               c("Stage I" ,  "Stage IV"),
                                               c("Stage II",  "Stage III"),
                                               c("Stage II",  "Stage IV"),
                                               c("Stage III",  "Stage IV")))+
  labs(x = "", y = "Expression of SEMA3A")+
  theme(legend.position = "none")
p

#将图片分别保存为pdf和png格式
ggsave("小提琴图1.pdf",p,width = 6,height = 4.5)
ggsave("小提琴图1.png",p,width = 6,height = 4.5)
效果:
效果展示
参考:

1.【科研猫·绘图】优雅版·小提琴图(带R代码分享)
2.R语言小提琴加箱线图

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容