图片【MTK-004】ニューハーフAikaの手コキで愛して…。2010-05-13U&K&$BABEL119分钟【MTK-004】ニューハーフAikaの手コキで愛して…。2010-05-13U&K&$BABEL119分钟
绪论Hello小伙伴们民众好,我是生信手段树的小学徒”我才不吃蛋黄“。今天是胃癌单细胞数据集GSE163558复现系列第五期。第四期,咱们使用了DimPlot、FeaturePlot、DoHeatmap、DotPlot等多种函数对细胞群和基因进行了可视化。本期,咱们将绘制饼图、堆积柱状图、箱线图、气泡图等,相比不同分组之间细胞比例各别。
1.配景在细胞分群定名完成之后,咱们不错相比不雷同本和分组之间细胞比例的各别。细胞发生癌变、肿瘤细胞鼎新、药物诊治等刺激身分,齐会导致肿瘤微环境中细胞类型发生篡改。不同类型的细胞施行不同的生物学功能,通过谋略细胞比例,咱们不错评估细胞类型的组内及组间分散情况。
2.可视化在这里,咱们将轮番绘制饼图、堆积柱状图、气泡图。
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数据的成例分析。干货满满,宽待民众抓续追更,谢谢!
图片
本站仅提供存储就业,悉数本色均由用户发布,如发现存害或侵权本色,请点击举报。