美文网首页单细胞测序
单细胞转录组亚群比例绘制堆积柱状图

单细胞转录组亚群比例绘制堆积柱状图

作者: 三点水的番薯 | 来源:发表于2021-06-18 22:32 被阅读0次

参照生信技能树的公众号,但是自己还是做了一点修改。
https://mp.weixin.qq.com/s/6RxQltn5U9KyqN_05VwQjA

1. 计算不同样本中每个细胞亚群中的细胞数量

table(Idents(pbmc))
#以此类推计算其他亚群细胞数量

2. 建立绘制图形的表格

cluster0<-c(100,99)
cluster1<-c(500,400)
cluster2<-c(250,580)
#是每一个样本不同cluster的数量
.......
data_test<-data.frame(cluster0,cluster1,cluster2,......)#建立数据框
statistics = apply(data_test, 1, sum)   # 得到每个样本的观测值总和
plot(statistics)
#因为想做百分比图,所以要获得不同cluster占total的百分比。
data_percent = data.frame()   # 建立空数据框
# 每个值除以前面得到的总和获得占比
for (n in 1:30) {
  data_percent = rbind( data_percent, data_test[n,] / statistics[n] )  
} 
# 再来看下,每个样本总和都等于1,现在符合要求了
statistics = apply(data_percent, 1, sum)   
plot(statistics)

#再加上样本的命名信息
data_percent$names = c("sample1","sample2")

3. ggplot绘图

要把宽矩阵转换为长矩阵

library(reshape2)
data_plot = melt(data_percent)
colnames(data_plot) = c('name','cluster','percent')#修改每一列的名称。

绘图

library(ggplot2)
p = ggplot( data_plot, aes( x = name, weight = percent, fill = cluster))+ geom_bar( position = "stack",width=0.5) +theme_bw()

具体图形参数修改:https://www.jianshu.com/p/3171a8ea3ca9

相关文章

网友评论

    本文标题:单细胞转录组亚群比例绘制堆积柱状图

    本文链接:https://www.haomeiwen.com/subject/umblyltx.html