使用ggplot2好意思化Dotplot成果
发布日期:2025-05-10 19:50 点击次数:180
前情纲领
迷水商城迷水商城后宫姬 色悟空 韩国女团偷情银妻
图片
况兼基于pbmc3k的数据,使用Dotplot进行可视化和绵薄诊疗。这期一皆来了解一下,使用Dotplot参数诊疗好意思化成果,以及基于ggplot2进行可视化
图片
迷水商城Dotplot可视化及好意思化
示例数据为pbmc-3k的选藏分群后的数据,使用FindAllMarkers查找并取得top5的Marker基因进行可视化
#top5 marker基因取得pbmc.markers <- FindAllMarkers(pbmc, only.pos = TRUE, min.pct = 0.25, logfc.threshold = 0.25, verbose = FALSE)top5 = pbmc.markers %>% group_by(cluster) %>% top_n(n = 5, wt = avg_log2FC)g = unique(top5$gene)
默许参数绘制及诊疗好意思化
要是告成使用默许参数,不调度参数展示的情况
迷水商城
DotPlot(pbmc, features = g)
图片
不错看到横坐标中features展示列全部挤在了一皆,未便于阅读。因为Dotplot绘制是基于ggplot2的语法结构的,是以不错调用ggplot2包内部的函数去歪斜展示基因,或者将基因和细胞亚群疏导位置的方式进行诊疗
迷水商城1. 调度features的罗列角度
使用RotatedAxis()函数将坐标轴标签旋转,让features列展示的基因,由最启动的平铺变为歪斜,便捷阅读
迷水商城DotPlot(pbmc, features = g) + RotatedAxis()
图片
迷水商城不外RotatedAxis()函数内部角度是详情了的,要是需要凭证我方的需求诊疗角度不错使用theme()函数来诊疗x轴的具体歪斜角度
图片
迷水商城DotPlot(pbmc, features = g) + theme(axis.text.x=element_text(angle=70,hjust = 1))
图片
2.将features和identity疏导位置
使用coord_flip()函数翻转坐标轴,使得图形的布局愈加合理。使用RotatedAxis()函数旋转坐标轴标签,以便更好地展示和阅读。
DotPlot(pbmc, features = g) + coord_flip()+ RotatedAxis()
图片
3. 分组展示Marker基因
迷水商城迷水商城迷水商城使用split函数按照基因列表以及分类列表进行分组,
?强效催性口服水货到付款Marker基因将凭证它们所属的群组(cluster)被分组败露。基于cols函数指定点图的颜料使用RotatedAxis函数将x轴标签旋转基于theme函数去诊疗坐标轴,诞生文本颜料和大小、添加边框、诊疗间距等
DotPlot(pbmc, features = split(top5$gene, top5$cluster), cols = c("#ffffff", "firebrick3")) + RotatedAxis() + theme( strip.text.x = element_text(size = 8), axis.text.x = element_text(color="black",size=10), panel.border = element_rect(color = "black"), panel.spacing = unit(1, "mm"), axis.title = element_blank(), axis.text.y = element_blank(), )
图片
使用ggplot2绘制及好意思化
照旧有好多推文基于ggplot2去可视化及好意思化点图:
比如我们生信菜鸟团的Dotplot好意思化——使用ggplot2基于成果好意思化生信益站的Seurat::DotPlot好意思化 (二) ——细胞亚群坐标轴Color Bar选藏
那这边小谢就偷个懒,基于前辈们整理好的代码来使用ggplot2绘制marker基因的点图。
迷水商城迷水商城1. 索要数据并整理细胞亚群排序
#取得需要的数据p <- DotPlot(pbmc, features = split(top5$gene, top5$cluster), cols = c("#ffffff", "firebrick3")) #重新整理细胞亚群的罗列,倒序罗列p$data$feature.groups2 <- factor(p$data$feature.groups, levels = c("Platelet","DC","NK", "FCGR3A+ Mono","CD8 T","B", "Memory CD4 T","CD14+ Mono","Naive CD4 T"))
图片
p
图片
p$data2. 使用ggplot2绘制
ggplot2绘制洽商的实质是需要反复熟识的,要是莫得R道话基础思要系统学习的话,不错了解一下生物信息学马拉松讲课,最近一期在广州线下,宽容全球来广州汇集!
## 加载R包界说图例颜料----library(ggh4x)library(RColorBrewer)strip <- strip_themed( background_x = elem_list_rect(fill = brewer.pal(9, "Paired")))## 可视化----p1 <- p$data %>% ggplot(aes(x = features.plot, y = id)) + geom_point(aes(size = pct.exp, color = avg.exp.scaled)) + facet_wrap2(~feature.groups2, scales = "free_x", strip = strip, nrow = 1) + theme_classic() + RotatedAxis()+ theme(strip.text.x = element_text(size = 8), axis.text.x = element_text(color="black",size=10), axis.title = element_blank(), strip.background = element_rect(color = "white"), axis.text.y = element_blank()) + scale_color_gradient(low = "#ffffff", high = "firebrick3", name = "avg.exp")p1
这么就得到了带有配景颜料图例的成果,为了大概将左边的细胞亚群标签信息使用axis.text.y = element_blank()不进行展示,固然我们也不错诊疗之后,将y轴的图例加上
图片
3. 整理y轴标签
## 图例信息----library(ggplot2)df <- data.frame(x = 0, y = levels(pbmc), stringsAsFactors = F )df$y <- factor(df$y, levels = df$y )#通过shape摄取我方思要的图例步地p2 <- ggplot(df, aes(x, y, color = factor(y))) + geom_point(size = 6, shape = 18, show.legend = F) + scale_color_manual(values = rev(brewer.pal(9, "Paired"))) + theme_classic() + scale_x_continuous(expand = c(0,0)) + theme( plot.margin = margin(r=0), axis.title = element_blank(), axis.text.x = element_blank(), axis.text.y = element_text(size = 9), axis.ticks = element_blank(), axis.line = element_blank() )p2
摄取了shape=18的实心菱形
图片
然后将整理好的图例和点图拼接到一皆即可
library(cowplot)plot_grid(p2, p1, align = "h", axis="bt", rel_widths = c(1.5, 9))
图片
迷水商城小结
这期基于ggplot2在Dotplot成果的基础上进行诊疗,以及索要Dotplot的成果数据,使用ggplot2进行好意思化和可视化
本站仅提供存储就业,扫数实质均由用户发布,如发现存害或侵权实质,请点击举报。