Addmodule score-热图+小提琴图


###单个【循环版--晚点补充】
## score定义
Cholinergic.score =list(c("Ache","Chat", "Chrm1", "Chrm3", "Chrna1", "Chrna2","Chrna4","Chrna5", "Chrna7","Chrna9", "Chrna10","Chrnb1","Chrnb2", "Chrnb3", "Chrnb4","Chrnd","Chrne","Chrng") )

## 计算score
MERGE <- AddModuleScore(MERGE,features = Cholinergic.score,name = "Cholinergic.score")
MERGE$Cholinergic.score <- MERGE$Cholinergic.score1
MERGE$Cholinergic.score1<-NULL

## 画图
# 1.箱图
char.name = c("Cholinergic.score") 

## 极值点过滤(存在极值点时可选择使用)
# plot_data <- MERGE@meta.data %>%
# filter(!!sym(char.name) < 0.05) #过滤掉大于 0.05 的极值

p <- ggplot(plot_data, 
            aes(x = cluster, y = !!sym(char.name), fill = cluster)) +
  geom_boxplot(width = 0.5, position = position_dodge(0.9), color = "black") +
  scale_fill_manual(values = color_epi) +
  theme_bw() +
  theme(
    axis.text.x = element_text(angle = 45, hjust = 1, colour = "black", size = 20),
    axis.text.y = element_text(size = 16, face = "plain"),
    axis.title.y = element_text(size = 22, face = "plain"),
    panel.border = element_blank(),
    axis.line = element_line(colour = "black", size = 0.5),
    legend.text = element_text(face = "italic", colour = "black", size = 16),
    legend.title = element_text(face = "italic", colour = "black", size = 16),
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank()
  ) +
  ylab("Cholinergic score") + xlab("")

# 保存
ggsave(paste0(char.name, "箱图.png"), p, height = 7, width = 14)

# 2.小提琴图
char.name = c("Cholinergic.score") 

## 极值点过滤(存在极值点时可选择使用)
# plot_data <- MERGE@meta.data %>%
# filter(!!sym(char.name) < 0.05) #过滤掉大于 0.05 的极值

p <- ggplot(plot_data , 
            aes(x= cluster, y=  !!sym(char.name),fill= cluster)) +   # 修改
  geom_violin(trim=F,color="white",size = 1 ,scale = "width") + 
  scale_fill_manual(values =  color_epi) +  # 自定义小提琴颜色(自定义主题color_epi)
  
  geom_boxplot(width=0.1,position=position_dodge(0.9),fill="lightgrey")+ 
  # geom_dotplot(binaxis='y', stackdir='centerwhole', dotsize=0.01, fill = "grey")+
  # geom_jitter(shape=16, position=position_jitter(0.2))+
  # scale_fill_manual(values = c( "#91D1C2FF","#B09C85FF","#5050FFFF","#CE3D32FF"))+ 
  theme_bw()+ #??????Ϊ??ɫ
  theme(axis.text.x=element_text(angle=45,hjust = 1,colour="black",size=20),
        axis.text.y=element_text(size=16,face="plain"),
        axis.title.y=element_text(size = 22,face="plain"),
        panel.border = element_blank(),axis.line = element_line(colour = "black",size=0.5),
        legend.text=element_text(face="italic",  colour="black", 
                                 size=16),
        legend.title=element_text(face="italic",  colour="black", 
                                  size=16),
        panel.grid.major = element_blank(),   
        panel.grid.minor = element_blank())+  
  ylab(char.name[1])+xlab("")
ggsave(paste0(char.name,"小提琴.png"), p,height = 7, width = 14)
posted @ 2025-03-26 20:44  corrschi  阅读(126)  评论(0)    收藏  举报