# A tibble: 200 x 5
id A B C D
<chr> <dbl> <dbl> <dbl> <dbl>
1 ID1 7.29 7.29 7.29 7.29
2 ID2 8.90 8.90 8.90 8.90
3 ID3 5.56 5.56 5.56 5.56
4 ID4 6.21 6.21 6.21 6.21
5 ID5 2.75 2.75 2.75 2.75
6 ID6 4.67 4.67 4.67 4.67
7 ID7 5.14 5.14 5.14 5.14
8 ID8 5.45 5.45 5.45 5.45
9 ID9 8.47 8.47 8.47 8.47
10 ID10 6.70 6.70 6.70 6.70
# i 190 more rows
R语言如何绘制抖动散点图
抖动散点图采用随机抖动的方法,将数据点沿着其x轴坐标随机移动一定距离,以避免数据点之间的重叠。由于抖动的强度是随机的,因此不同的数据集可能会产生不同的效果。
本教程我们还会在图上添加误差线和显著性标记。
什么是抖动散点图?
绘图前的数据准备
demo数据可以在https://www.r2omics.cn/res/demodata/beeswarm.txt下载。
第一列为名称列,其他列为数据列。
如果是转录组蛋白组等生物学数据,则每一列代表一个样本,每一行代表一个基因。
R语言如何绘制抖动散点图
# 代码来源:https://www.r2omics.cn/
# 加载R包,没有安装请先安装 install.packages("包名")
library(tidyverse)
library(ggsignif)
# 读取数据文件
= read.delim("https://www.r2omics.cn/res/demodata/boxplot.txt"# 这里读取了网络上的demo数据,将此处换成你自己电脑里的文件
df 1:100,]
)[
# 把数据转换成ggplot常用的类型(长数据)
= df %>%
df pivot_longer(-1,names_to = "variable",values_to = "value")
# 绘图
ggplot(df,aes(x=variable,y=value))+
geom_jitter(aes(color=variable),width = 0.3,height = 0)+ # 抖动散点图,width = 0.3,height = 0只左右抖动,不上下抖动
stat_summary(geom = 'pointrange', # 加中间那个点(平均值)
color='#0886CC',
fun = mean
+
)stat_summary(geom = 'errorbar', # 加上下误差线,(平均值加减标准差)
color='#0886CC',cex=1,width=0.15,
fun = mean,
fun.max = function(x) mean(x) + sd(x),
fun.min = function(x) mean(x) - sd(x)
+
)theme_bw()+
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为*号
)