泰国按摩群

小程序 导航

发布日期:2025-12-17 14:14    点击次数:135

前情摘要

上期的推文VlnPlot成果及常用参数浅析整理先容了一下小提琴图可视化marker基因小程序 导航,在收尾简便先容了一下可用于好意思化可视化成果的参数。

图片

这期咱们就通盘来使用一下这些参数,绘制更颜面的小提琴图叭!

分析数据简介

因为分析中需要用到分组信息,而pbmc3k的数据集是单个样品,莫得包含分组信息。是以这期的示例数据换为ifnb.SeuratData的数据集

ifnb.SeuratData数据降维聚类分群的骨子见推文——ifnb数据集分析及注视对比

临了的手动分群情况:

图片

获得top3的Marker基因:

markers <- FindAllMarkers(sce.all.int, only.pos = TRUE, min.pct = 0.25,  logfc.threshold = 0.25, verbose = FALSE)top3 = markers %>% group_by(cluster) %>% top_n(n = 3, wt = avg_log2FC)g2 = unique(top3$gene)
基于VlnPlot参数好意思化小提琴图1. 径直可视化
VlnPlot(sce.all.int, features = g2[1:6])

图片

若是径直使用VlnPlot可视化,不树立参数,会得到每个基因单独展示的成果,不太易读。

若是思将marker通盘展示,就需要使用stack参数绘制堆叠小提琴图

2. 堆叠小提琴图
#使用paletteer包来调用awtools包中的调色板函数library(paletteer)color <- c(paletteer_d("awtools::bpalette"),           paletteer_d("awtools::a_palette"),           paletteer_d("awtools::mpalette"))#stack=T绘制堆叠小提琴图p1 <- VlnPlot(sce.all.int,features=g2,              group.by="celltype",              stack=T,cols=color)#去掉标签注视p1+NoLegend()

图片

不错使用flip参数进行翻转,使得成果愈加易读

p1 <- VlnPlot(sce.all.int,features=g2,              group.by="celltype",              flip=T,stack=T,cols=color)p1+NoLegend()

图片

3. 分组小提琴图

分组小提琴图是一种用于展示不同组别中数据散播情况的可视化图表,当有两个组别时不错很好的展示基因在两个组间的各异

使用split.by参数可遴荐按照某一分组变量(这里是 'stim')来分割数据

p2 <- VlnPlot(sce.all.int, g2, stack = TRUE,              split.by = 'stim',flip=T, add.noise = T,              cols = c("#78C2C4","#C73E3A"),) ;p2

图片

从图中不错看到pDC相关基因主要在STIM组高抒发,有些基因仅在STIM约略只在CTRL组抒发

4. 分组分半小提琴图

也不错在合并个图形中绘制多个分组的散播,不错直不雅地相比不同组之间的数据散播情况,以便进行统计分析和推测。

使用split.plot = T生成每个分组的单独小提琴图

p<-VlnPlot(sce.all.int, features = g2,stack=T,           pt.size=0,flip = T,add.noise = T,           split.by = 'stim',           group.by = "celltype",           cols = c("#78C2C4","#C73E3A"),           split.plot = T)

图片

将分组以及分组且分半小提琴图拼图,不错愈加直不雅的看到两个分组之间基因抒发的各异

图片

使用ggplot2进行好意思化

因为VlnPlot是一个ggplot的对象,是以不错基于ggplot2进行好意思化。约略索求需要的数据,泰国按摩群使用ggplot2径直绘制小提琴图

1. 好意思化VlnPlot成果

不错基于ggplot2的theme函数去调度坐标轴,树立文本神态和大小、添加边框、调度间距等

p1 + theme_bw()+  theme(    axis.text.x.bottom = element_text(angle = 45,hjust = 1,vjust = 1),    panel.grid.major = element_blank(),    panel.grid.minor = element_blank(),    legend.position = "none",    axis.text.x = element_text(color = 'black',size = 11),    axis.text.y = element_blank(),    axis.title.x = element_text(color = 'black', size = 15),    axis.ticks.x = element_line(color = 'black'),    axis.ticks.y = element_blank(),  )
旋转并对都 x 轴标签,树立其神态;取消 x 轴的次要网格线与 y 轴的刻度标签;避讳图例;树立 x 轴标题和刻度线的神态和大小;都备取消 y 轴的刻度和网格线,以简化图形展示。

图片

p1+theme_minimal()+  theme(axis.text.x = element_text(angle = 45, hjust = 1),        axis.text.y = element_blank(),        axis.title = element_text(size = 12),        legend.position = 'none')+  scale_fill_manual(values = color)+  labs(title = 'Top 3 markers for each cluster',       x = 'Cluster',       y = 'Expression')

通过theme_minimal()和theme()函数对图形的神态进行好意思化:

将 x 轴标签旋转 45 度并右对都;避讳 y 轴的刻度标签;设定轴标题的字体大小;移除图例;自界说填充神态;添加标题和轴标签。

图片

2. 索求数据使用ggplot2进行好意思化

小谢私以为基于ggplot2的theme函数好意思化VlnPlot成果如故相比颜面了,但由于是VlnPlot成果的框架下,可能如故会有些已毕

若是需要高度定制化小提琴的图的成果,也不错索求需要的数据,使用ggplot2从绘制到好意思化。

之前的前辈们如故整理好了索求数据进行可视化的秩序:

比如生信菜鸟团的Violin plot 好意思化生信星球的大漂亮版块的单细胞小提琴图以及生信补给站的scRNA分析| Seurat堆叠小提琴图颓丧奋? 那就ggplot2 堆叠 多样元素小结

这期使用VlnPlot函数的相关参数,绘制堆叠小提琴图,以及对小提琴图进行了分组分半的展示

基于ggplot2在VlnPlot成果的基础上进行调度,若是思索求需要的数据小程序 导航,使用ggplot2从绘制到好意思化,不错参考前辈们整理的推文!

本站仅提供存储职业,通盘骨子均由用户发布,如发现存害或侵权骨子,请点击举报。




Powered by 泰国按摩群 @2013-2022 RSS地图 HTML地图

Copyright Powered by365站群 © 2013-2025