作图

玩转单细胞(3):堆叠柱状图添加比例

2023-01-02  本文已影响0人  KS科研分享与服务

每次解决一个小问题,久而久之,你就解决了一个大麻烦:

单细胞比例的展示,常见的是堆叠柱状图,但是有一个小问题,比较上不明显,那么如果将文字比例添加到图上,那么就一目了然了。使用老伙伴geom_text就可以了。

library(Seurat)
library(ggplot2)
library(dplyr)
# setwd("D:/KS项目/公众号文章/堆叠柱状图显示比例")

Ratio <- mouse_data@meta.data %>%group_by(sex,celltype) %>%
  count() %>%
  group_by(sex) %>%
  mutate(Freq = n/sum(n)*100)

ggplot(Ratio, aes(x = sex, y = Freq, fill = celltype))+
  geom_col()+
  geom_text(aes(label = paste(round(Freq, 1),"%")), 
            position = position_stack(vjust = 0.5))+
  theme_classic()+
  scale_fill_manual(values = c("#FB8072", "#1965B0", "#7BAFDE", "#882E72","#B17BA6", 
                              "#FF7F00", "#FDB462", "#E7298A", "#E78AC3","#33A02C", 
                              "#B2DF8A", "#55A1B1", "#8DD3C7", "#A6761D","#E6AB02"))

改变下分组,看看效果!

Ratio <- mouse_data@meta.data %>%group_by(sex,celltype) %>%
  count() %>%
  group_by(celltype) %>%
  mutate(Freq = n/sum(n)*100)


ggplot(Ratio, aes(x = celltype, y = Freq, fill = sex))+
  geom_col()+
  geom_text(aes(label = paste(round(Freq, 1),"%")),
            position = position_stack(vjust = 0.5))+
  theme_classic()+
  scale_fill_manual(values = c("#FB8072", "#1965B0", "#7BAFDE", "#882E72","#B17BA6", 
                               "#FF7F00", "#FDB462", "#E7298A", "#E78AC3","#33A02C", 
                               "#B2DF8A", "#55A1B1", "#8DD3C7", "#A6761D","#E6AB02"))

以上就是这期全部内容了,希望对你有帮助,觉得有用的,分享一下,点个赞、点一下再看呗,谢谢支持!更多精彩内容请至我的公众号---KS科研分享与服务

上一篇下一篇

猜你喜欢

热点阅读