Cell type proportion을 표현하는 방법 02
Pie chart
지난번에는 찾은 cell type의 비율을 bar plot으로 정리하는 코드를 작성했었는데
이번에는 pie chart로 정리해보자.
예시 데이터
같은 데이터 level1(coarse)과 level2(fine) 두 단계로 나눠서 cell type annotation마침. level2 에 대해서 proportion을 구하고 pie chart로 정리해 보자.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
library(scales) # percent 표기
library(ggrepel)
library(ggplot2)
## load the data
GEX.seurOBJ <-readRDS("GEX.seurOBJ.labeled.rds")
# create a dataset
df<-data.frame(table(GEX.seurOBJ$Annot.L2))
colnames(df)[1] <- "CellTypes.Annot.L2"
df$amount <- round(df$Freq/ncol(seurOBJ)*100,digits=2)
df2 <- df %>%
mutate(csum = rev(cumsum(rev(Freq))),
pos = Freq/2 + lead(csum, 1),
pos = if_else(is.na(pos), Freq/2, pos))
# pie chart
bp<- ggplot(df, aes(x="", y=Freq, fill=CellTypes.Annot.L2))+ geom_bar(width = 1, stat = "identity")
pie <- bp + coord_polar("y", start=0) + theme_void() +
# scale_fill_manual(values=c('#81D4FA','#3C87CC','#97DCE8','#F53093','#9437FF',"#B65FCF",'#ED7D32','#F8A929','#FBD907','#DB6F6F','#B71E1E','#808080','#A6A6A6','#945200')) +
geom_label_repel(data = df2, aes(y = pos, label = paste0(amount, "%")),
size = 4.5, nudge_x = 1, show.legend = FALSE)
ggsave("pie.total.Annot.L2.png")
results
reference
This post is licensed under CC BY 4.0 by the author.