Cell type proportion을 표현하는 방법
Stacked bar plot
single cell data분석 결과를 표현하는 가장 기본이 되는 그림중 하나가 아닐까 싶다.
UMAP으로 visualization하고 cell type annotation 마친뒤, type별 proportion을 보여주게 되는데, stacked bar 로 많이 표현하는거 같다.
ggplot 사용해서 그려봄. 나중에 색이나 이런것도 조정하는법 업뎃 예정
예시.
이런식으로 완성된 umap그림을 bar plot으로 표현해보자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
library(ggplot2)
## load the data
PRIME <-readRDS("PRIME.labeled.rds")
# create a dataset
x <- c(rep("PRIME_1_T", 8), rep("PRIME_1_OM", 8), rep("PRIME_2_N", 8), rep("PRIME_2_T", 8), rep("PRIME_2_OM", 8), rep("PRIME_3_N", 8), rep("PRIME_3_T", 8), rep("PRIME_3_PM", 8))
y <- rep(c("Myeloid","Mast","T_cell","B_cell","Plasma","Epithelial","Endothelial","Fibroblast") , 4)
data <- data.frame(x,y)
data$value <- 0
data$x <- factor(data$x, levels=levels(PRIME$PRIMEID))
data$y <- factor(data$y, levels=levels(PRIME$annot.L1))
for(i in levels(PRIME$PRIMEID)){
for( j in levels(PRIME$annot.L1)){
data[data$x==i&data$y==j,"value"] <- table(subset(PRIME,subset=PRIMEID==i)$annot.L1)[j]
}}
# Stacked + percent
ggplot(data, aes(fill=y, y=value, x=x)) +
geom_bar(position="fill", stat="identity", colour="white")+
theme_classic() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
ggsave("result.pdf")
results
reference
This post is licensed under CC BY 4.0 by the author.