小提琴图界说:
小提琴图(Violin Plot),是一种集成了箱线图和核密度图特性的数据可视化图形,用于展示多组数据的分布环境和概率密度。
小提琴图的作用:
1.显示数据分布:小提琴图可以或许清晰地展示数据的分布环境,包括数据的中位数、四分位数、离群值等统计信息。通过小提琴形状的宽度和高度,可以直观地比力不同组或条件下数据的分布差别。
2.比力多组数据:将不同基因在不同组织中的表达程度用小提琴图展示,以便研究它们的表达模式是否有显著差别。
3.异常值检测:在小提琴图中,可以观察到小提琴外部的离散数据点,这些数据点每每表示数据中的异常值。可以通过观察离群点的出现环境来判定数据中是否存在异常值。
小提琴图怎么做?
R语言绘制小提琴图
- # 代码来源:https://www.r2omics.cn/
- # 加载R包,没有安装请先安装 install.packages("包名")
- library(tidyverse)
- # 读取箱线图数据文件
- df = read.delim("https://www.r2omics.cn/res/demodata/boxplot.txt",# 将此处换成你自己电脑里的文件
- header = T # 指定第一行是列名
- )
- # 把数据转换成ggplot常用的类型(长数据)
- df = df %>%
- pivot_longer(-1,names_to = "Sample",values_to = "Value")
- # 绘图
- p = ggplot(df,aes(x=Sample,y=Value,fill=Sample))+
- # stat_boxplot(geom = "errorbar", # 添加误差线
- # width=0.3)+
- geom_violin(alpha = 1, # 透明度
- trim = T, # 是否修剪尾巴,即将数据控制到真实的数据范围内
- scale = "count", # 如果“area”(默认),所有小提琴都有相同的面积(在修剪尾巴之前)。如果是“count”,区域与观测的数量成比例。如果是“width”,所有的小提琴都有相同的最大宽度。
- )+
- theme_bw()+ # 主题
- theme(
- axis.text.x = element_text(angle = 90,
- vjust = 0.5
- ) # x轴刻度改为倾斜90度,防止名称重叠
- )
- p
复制代码
箱线图和小提琴图合并
- # 其实就是在小提琴的图层下再画一个箱线图
- p +
- geom_boxplot(width=0.16,
- fill="white",
- outlier.alpha = 0
- )
复制代码
添加显著性标签
- library(ggsignif) # 用于添加显著性标签
- p + geom_signif( # 添加显著性标签
- comparisons=list(c("Sample1","Sample2"),c("Sample3","Sample4")), # 选择你想在哪组上添加标签
- 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为*号
- )
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |