24  小提琴图

24.1 什么是小提琴图?

小提琴图是箱线图的变种,展示了任意位置的密度,通过小提琴图可以知道哪些位置的密度较高。

外部形状即为核密度估计(在概率论中用来估计未知的密度函数,属于非参数检验方法之一)。

本文我们就来讨论一下小提琴图是如何绘制的以及如何对其进行解读。

24.2 绘图前的数据准备

demo数据可以在https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/BoxPlot/boxplot.txt下载。

包含2个维度的数据,通常每一列是个样本,每一行是个基因

24.3 R语言怎么画小提琴图

# 加载R包,没有安装请先安装  install.packages("包名") 
library(ggplot2)
library(reshape2)
library(ggsignif)

# 读取小提琴图数据文件
df = read.delim("https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/BoxPlot/boxplot.txt",# 这里读取了网络上的demo数据,将此处换成你自己电脑里的文件
                header = T    # 指定第一行是列名
)
# 把数据转换成ggplot常用的类型(长数据)
df = melt(df)

# 绘图
ggplot(df,aes(x=variable,y=value,fill=variable))+
  geom_violin(alpha = 1,              # 透明度
              trim = T,               # 是否修剪尾巴,即将数据控制到真实的数据范围内
              scale = "area",         # 如果“area”(默认),所有小提琴都有相同的面积(在修剪尾巴之前)。如果是“count”,区域与观测的数量成比例。如果是“width”,所有的小提琴都有相同的最大宽度。

               )+
  theme_bw()+                          # 白色主题
  theme(
    axis.text.x = element_text(angle = 90,
                               vjust = 0.5
                               )       # x轴刻度改为倾斜90度,防止名称重叠
  )+
  geom_signif(                         # 添加显著性标签
    comparisons=list(c("Sample1","Sample2"),c("Sample3","Sample4")), # 选择你想在哪2组上添加标签
    step_increase = 0.1,
    test="t.test",                     # "t 检验,比较两组(参数)" = "t.test","Wilcoxon 符号秩检验,比较两组(非参数)" = "wilcox.test"
    test.args = list("var.equal" = T),  # 等方差    
    map_signif_level=F                 # 标签样式F为数字,T为*号
    )

24.4 BioLadder生信云平台在线绘制小提琴图

不想写代码?可以用BioLadder生信云平台在线绘制小提琴图。

网址:

小提琴图-BioLadder生物信息在线分析可视化云平台​www.bioladder.cn/web/#/chart/18