都AI时代了!做科研竟还用Origin、GraphPad Prism这些老方法?R语言小提琴图带你玩转数据可视化

"同样是展示数据分布,为什么大佬的图能一眼看出玄机?"
"箱线图+密度曲线的完美CP,解锁数据可视化新姿势!"

今天手把手教你用R语言绘制小提琴图,让你的数据会说话👇

01

小提琴图:数据界的「变形金刚」

🔍 什么是小提琴图?
它是「箱线图」和「核密度图」的私生子——

  • 左右宽度:显示数据分布密度(越宽密度越高)

  • 中间凹槽:标记中位数位置

  • 外围须线:标记四分位数范围

💡 为什么必须学?
1️⃣ 单图抵三图:同时展示分布形态、集中趋势、离群值
2️⃣ 组间对比神器:横向对比不同类别数据差异(如基因表达差异)
3️⃣ 异常值捕手:自动标出数据中的"离群刺客"

图片

02

实操演示:3分钟画出专业级小提琴图

# 代码来源: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

🎨 美化技巧

  • 颜色搭配:用scale_fill_brewer(palette = "Set2")调用配色方案

  • 标签注释:用annotate("text", x=..., y=..., label="***")手动添加星号

  • 动态效果:保存为交互式SVG格式(ggsave("plot.svg", width=8, height=6)

03

实战案例:基因表达差异分析

场景:比较不同组织中某基因的表达水平
数据:模拟的3组样本(组织A/B/C)的基因表达量
解读:

  • 组织B的小提琴图最宽→数据分布最集中

  • 组织C右尾长→存在极端高表达样本

  • 箱线图中位线位置→组织A表达量最低

图片

04

避坑指南:这些坑你别踩!

图片

小提琴图不是炫技工具,而是数据故事的放大器!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值