图片物联网app开发
引子Hello小伙伴们全国好,我是生信手段树的小学徒”我才不吃蛋黄“。今天是胃癌单细胞数据集GSE163558复现系列第五期。第四期,咱们使用了DimPlot、FeaturePlot、DoHeatmap、DotPlot等多种函数对细胞群和基因进行了可视化。本期,咱们将绘制饼图、堆积柱状图、箱线图、气泡图等,相比不同分组之间细胞比例互异。
1.配景在细胞分群定名完成之后,咱们不错相比不相似本和分组之间细胞比例的互异。细胞发生癌变、肿瘤细胞振荡、药物治愈等刺激成分,王人会导致肿瘤微环境中细胞类型发生转换。不同类型的细胞实施不同的生物学功能,通过打算细胞比例,咱们不错评估细胞类型的组内及组间踱步情况。
2.可视化在这里,咱们将次序绘制饼图、堆积柱状图、气泡图。
安队第2024079期双色球遗漏分析:(热码:遗漏0-3期,温码遗漏4-9期,冷码遗漏10期及以上)
2.1 饼图饼图不错直不雅展示组内各细胞比例的互异。
领先加载R包:
rm(list=ls())options(stringsAsFactors = F)library(Seurat)library(ggplot2)library(clustree)library(cowplot)library(dplyr)library(plotrix)library(ggsci)library(celldex)library(singleseqgset)library(devtools)
创建责任目次,并读取细胞分群谨防后数据:
getwd()setwd()dir.create("5-prop")setwd('5-prop/')sce.all=readRDS( "../3-Celltype/sce_celltype.rds")sce.all
绘制饼图:
head(sce.all@meta.data)table(sce.all$celltype)mynames <- table(sce.all$celltype) %>% names()myratio <- table(sce.all$celltype) %>% as.numeric()pielabel <- paste0(mynames," (", round(myratio/sum(myratio)*100,2), "%)")cols <-c('#E64A35','#4DBBD4' ,'#01A187','#6BD66B','#3C5588' ,'#F29F80' , '#8491B6','#91D0C1','#7F5F48','#AF9E85','#4F4FFF','#CE3D33', '#739B57','#EFE685','#446983','#BB6239','#5DB1DC','#7F2268','#800202','#D8D8CD')pie(myratio, labels=pielabel, radius = 1.0,clockwise=T, main = "celltype",col = cols)
图片
绘制3D饼图:
pie3D(myratio,labels = pielabel,explode = 0.1, main = "Cell Proption", height = 0.3, labelcex = 1)
图片
pie函数参数阐述:
x: 数值向量,默示每个扇形的面积。labels: 字符型向量,默示各扇形面积标签。edges: 这个参数用处不大,指的是多边形的边数(圆的概括肖似许多边的多边形)。radius: 饼图的半径。main: 饼图的标题。clockwise: 是一个逻辑值,用来带领饼图各个切片是否按顺时针作念出分割。angle: 树立底纹的斜率。density: 底纹的密度。默许值为 NULL。col: 是默示每个扇形的花式,极端于调色板。
2.2 堆积柱状图堆积柱状图除了不错展示组内互异,还不错直不雅展示组间细胞比例互异。
绘制堆积柱状图前,领先整理图形输入数据:
library(tidyr)library(reshape2)tb=table(sce.all$tissue, sce.all$celltype)head(tb)library (gplots) balloonplot(tb)bar_data <- as.data.frame(tb)bar_per <- bar_data %>% group_by(Var1) %>% mutate(sum(Freq)) %>% mutate(percent = Freq / `sum(Freq)`)head(bar_per) #write.csv(bar_per,file = "celltype_by_group_percent.csv")col =c("#3176B7","#F78000","#3FA116","#CE2820","#9265C1", "#885649","#DD76C5","#BBBE00","#41BED1")colnames(bar_per)
可视化:
library(ggthemes)p1 = ggplot(bar_per, aes(x = percent, y = Var1)) + geom_bar(aes(fill = Var2) , stat = "identity") + coord_flip() + theme(axis.ticks = element_line(linetype = "blank"), legend.position = "top", panel.grid.minor = element_line(colour = NA,linetype = "blank"), panel.background = element_rect(fill = NA), plot.background = element_rect(colour = NA)) + labs(y = " ", fill = NULL)+labs(x = 'Relative proportion(%)')+ scale_fill_manual(values=col)+ theme_few()+ theme(plot.title = element_text(size=12,hjust=0.5))p1
图片
上图是按样本类型(M、NT、PT)分组相比的,咱们也不错按患者进行相比:
bar_data <- as.data.frame(tb)bar_per <- bar_data %>% group_by(Var1) %>% mutate(sum(Freq)) %>% mutate(percent = Freq / `sum(Freq)`)head(bar_per) #write.csv(bar_per,file = "celltype_by_group_percent.csv")col =c("#3176B7","#F78000","#3FA116","#CE2820","#9265C1", "#885649","#DD76C5","#BBBE00","#41BED1")colnames(bar_per)library(ggthemes)p2 = ggplot(bar_per, aes(x = percent, y = Var1)) + geom_bar(aes(fill = Var2) , stat = "identity") + coord_flip() + theme(axis.ticks = element_line(linetype = "blank"), legend.position = "top", panel.grid.minor = element_line(colour = NA,linetype = "blank"), panel.background = element_rect(fill = NA), plot.background = element_rect(colour = NA)) + labs(y = " ", fill = NULL)+labs(x = 'Relative proportion(%)')+ scale_fill_manual(values=col)+ theme_few()+ theme(plot.title = element_text(size=12,hjust=0.5)) + theme(axis.text.x = element_text(angle = 45, hjust = 1))p2
图片
X、Y轴退换一下:
p3 <- ggplot(bar_per, aes(y = percent, x = Var1)) + geom_bar(aes(fill = Var2) , stat = "identity") + coord_flip() + theme(axis.ticks = element_line(linetype = "blank"), legend.position = "top", panel.grid.minor = element_line(colour = NA,linetype = "blank"), panel.background = element_rect(fill = NA), plot.background = element_rect(colour = NA)) + labs(y = " ", fill = NULL)+labs(x = 'Relative proportion(%)')+ scale_fill_manual(values=col)+ theme_few()+ theme(plot.title = element_text(size=12,hjust=0.5)) + theme(axis.text.x = element_text(angle = 45, hjust = 1))p3
图片
ggplot函数参数阐述:
原文探究:https://blog.csdn.net/a11113112/article/details/135091751
data:要用于画图的数据集。mapping 或 aes:好意思学映射,用于将数据变量映射到图形属性,举例 x、y、color、size、shape 等。geom:几何对象,长沙专业物联网软件开发详情图形类型,比如 geom_point()(散点图)、geom_line()(折线图)、geom_bar()(条形图)等。x、y:指定 x 轴和 y 轴的数据变量。color、fill、shape、size:用于指定花式、填充、方法和大小的变量。alpha:指定花式透明度。group:指定分组变量。facet:面板分组,允许在一个图中绘制多个小图(facet_wrap() 或 facet_grid())。theme:用于树立图形的主题方式。labs:用于树立 x、y 轴标签和图例标签的文本。scale:用于调整比例尺和好意思学属性的模范。coord:坐标系变换,举例 coord_flip() 不错交换 x 和 y 轴。position:用于调整图形中元素的位置,举例 position_dodge() 用于幸免重复的条形或点。xlim、ylim:铁心 x 轴和 y 轴的画图边界。coord_cartesian():肖似于 xlim 和 ylim,但不会删除超出边界的数据点。labs():树立图形的标题、坐标轴标签和图例标题。ggtitle():树立图形的主标题。theme():调整图形的外不雅和布局,如配景、网格线、标签方式等。guides():铁心图例的外不雅,如标题、标签和图例键的位置和方式。scale_x_continuous()、scale_y_continuous():调整 x 轴和 y 轴的连气儿变量的比例尺和标签。
.......
2.3 气泡图气泡图则不错展示每组样本不同类型细胞的具体数目。
绘制气泡图:
unique(sce.all@meta.data$patient)tb=table(sce.all$patient, sce.all$celltype)head(tb)library (gplots) balloonplot(tb)
图片
不错调整字体大小:
balloonplot(tb, text.size=0.8,label.size=0.8)
图片
还不错调整X/Y标签的角度:
图片
以及标署名体的花式:
图片
balloonplot函数参数阐述:
x : 一个表对象,或一个向量或几个类别向量的列表,其中包含打印矩阵的第一个(x)边距的分组变量。y : 矢量或矢量列表,用于对绘制矩阵的第二(y)维变量进行分组。z : 打印矩阵中点大小的值向量。xlab : x维度的文本标签。这将清楚在X轴和画图标题中。ylab : y标注的文本标签。这将清楚在坐标轴和画图标题中。zlab : 点大小的文本标签。这将包含在地块标题中。dotsize : 最大点大小。可能需要为不同的打印成立和布局调整此值。dotchar : 用于点的画图象征或字符。关系象征代码的points函数,请参见匡助页。dotcolor : 指定画图点花式的标量或向量。text.size, text.color : 行和列标题的字符大小和花式
.......
结语本期,咱们绘制饼图、堆积柱状图、箱线图、气泡图等,相比不同分组之间细胞比例互异。下一期,咱们将哄骗胃癌bulk数据(TCGA-STAD)协助别离平方上皮和恶性上皮,其中还将涵盖互异分析、富集分析、KM生活分析等bulk RNA-seq数据的通例分析。干货满满,迎接全国握续追更,谢谢!
图片
本站仅提供存储工作,通盘本色均由用户发布,如发现存害或侵权本色,请点击举报。