ggplot2显示图例

显示每个图的图例

rm(list=ls())
options(warn = -1)
suppressPackageStartupMessages(library(knitr))
suppressPackageStartupMessages(library(cowplot))
suppressPackageStartupMessages(library(gridExtra))
suppressPackageStartupMessages(library(png))
suppressPackageStartupMessages(library(ggplot2))
suppressPackageStartupMessages(library(kableExtra))
suppressPackageStartupMessages(library(dplyr))
suppressPackageStartupMessages(library(vioplot))
suppressPackageStartupMessages(library(googleVis))
suppressPackageStartupMessages(library(reticulate))
suppressPackageStartupMessages(library(patchwork))
suppressPackageStartupMessages(library(egg))
suppressPackageStartupMessages(library(ggvis))
old=theme_set(theme_bw()+theme(strip.background = element_rect(fill="white"),
                                         panel.background = element_blank(),
                                         panel.grid =element_blank()))

theme_use=theme(legend.key.size = unit(1,"cm"),
                legend.key.width = unit(0,'cm'),
                legend.text = element_text(size=16),
                legend.title = element_text(size=20),
                legend.key.height = unit(1.0,"cm"),
                axis.text.x = element_blank(),
                axis.text.y = element_blank())

options(repr.plot.width=12,repr.plot.height=5)
gg_color_hue <- function(n) {
  hues = seq(15, 375, length = n + 1)
  hcl(h = hues, l = 65, c = 100)[1:n]
}
op=par(mar=c(5,4,6,4))
color_celltype=c('#1CE6FF','#FF34FF','#FF4A46','#008941','#A30059','#FF2F80','#0000A6','#63FFAC','#004D43','#8FB0FF','#4FC601','#3B5DFF','#4A3B53','#61615A','#BA0900','#6B7900','#00C2A0','#FFAA92','#FF90C9','#B903AA')
image(1:length(color_celltype),1, as.matrix(1:length(color_celltype)),col=color_celltype,ylab="",xlab="",axes=F)
axis(3,at=seq(1:length(color_celltype)),labels=color_celltype,las=2,lwd=0)

options(repr.plot.width=12,repr.plot.height=5)
op=par(mar=c(5,4,6,4))
col.set.update <- c("#c10023", "#008e17", "#fb8500", "#f60000", "#FE0092", "#bc9000","#4ffc00", "#00bcac", "#0099cc",
                    "#D35400", "#00eefd", "#cf6bd6", "#99cc00", "#aa00ff", "#ff00ff", "#0053c8",
                    "#f2a287","#ffb3ff", "#800000", "#77a7b7", "#00896e", "#00cc99", "#007CC8")
image(1:length(col.set.update),1, as.matrix(1:length(col.set.update)),col=col.set.update,ylab="",xlab="",axes=F)
axis(3,at=seq(1:length(col.set.update)),labels=col.set.update,las=2,lwd=0)

getplotdata=function(adata,reduction.use="AAA"){
    reduction_data=py_to_r(adata$obsm[[paste0("X_",reduction.use)]])
    embed_data=
    df=py_to_r(adata$obs)
    
   if(reduction.use=="tsne"){
        df$tSNE_1=reduction_data[,1]
        df$tSNE_2=reduction_data[,2]
   }else if(reduction.use=="umap"){
        df$UMAP1=reduction_data[,1]
        df$UMAP2=reduction_data[,2]
   } 
   return(df)
}

## 注意这个geom_point(size=pt.size)用于设置点的大小,这个
getplot=function(df_desc,by.group = "res",ggtitle0 = "DESC",pt.size = 0.5,reduction.use = "AAA"){
   if(reduction.use=="tsne"){
        dim1="tSNE_1"
        dim2="tSNE_2"
   }else if(reduction.use=="umap"){
        dim1="UMAP1"
        dim2="UMAP2"
   }
   p= ggplot(df_desc,aes_string(x=dim1,y=dim2,color=by.group))+ geom_point(size=pt.size)+ ggtitle(ggtitle0)+
    theme(plot.title = element_text(hjust = 0.5,face = "bold",size=20))+ 
    guides(color = guide_legend(override.aes = list(size=5)))+
    theme(legend.text = element_text(size=10))
   return(p)
}

datadirpath="."
########################################################
reduction.use = "umap"

结果如下
在这里插入图片描述

method ="ground_truth"
filename_true=paste0(datadirpath,"/","muraro_true.h5ad")
ad=import("anndata",convert = FALSE)
adata_true=ad$read_h5ad(filename_true)
print(adata_true)
df_true=getplotdata(adata_true,reduction.use = reduction.use)


method ="scHSC"
filename_scHSC=paste0(datadirpath,"/","muraro_schsc.h5ad")
adata_scHSC=ad$read_h5ad(filename_scHSC)
print(adata_scHSC)
df_scHSC=getplotdata(adata_scHSC,reduction.use = reduction.use)


method ="DCA"
filename_dca=paste0(datadirpath,"/","muraro_dca.h5ad")
adata_dca=ad$read_h5ad(filename_dca)
print(adata_dca)
df_dca=getplotdata(adata_dca,reduction.use = reduction.use)


method ="desc"
filename_desc=paste0(datadirpath,"/","muraro_desc.h5ad")
adata_desc=ad$read_h5ad(filename_desc)
print(adata_desc)
df_desc=getplotdata(adata_desc,reduction.use = reduction.use)


method ="scDeepcluster"
filename_scDeepcluster=paste0(datadirpath,"/","muraro_scdeepcluster.h5ad")
adata_scDeepcluster=ad$read_h5ad(filename_scDeepcluster)
print(adata_scDeepcluster)
df_scDeepcluster=getplotdata(adata_scDeepcluster,reduction.use = reduction.use)

method ="sczidesk"
filename_sczidesk=paste0(datadirpath,"/","muraro_sczidesk.h5ad")
adata_sczidesk=ad$read_h5ad(filename_sczidesk)
print(adata_sczidesk)
df_sczidesk=getplotdata(adata_sczidesk,reduction.use = reduction.use)

显示图例

resolution_use="0.8"
reduction.use="umap"
desc_use=paste0("desc_",resolution_use)
df_desc[,desc_use]=factor(as.numeric(as.character(df_desc[,desc_use])))
ari=mclust::adjustedRandIndex(df_desc[,'true_label'],df_desc[,desc_use])
#pdesc_1=getplot(df_desc,by.group = desc_use,ggtitle0 = paste0("Cluster","(ARI=",round(ari,3),")"),pt.size = 0.2)+theme(plot.title = element_text(color="red"))
df_desc$res=df_desc[,desc_use]

pdesc_1=getplot(df_desc,by.group = "pred_label",ggtitle0 = "DESC",pt.size = 0.5,reduction.use = reduction.use)+theme(plot.title = element_text(color="red"))+
  scale_color_manual(values=colorRampPalette(col.set.update)(15))+
  coord_cartesian()
pdesc_2=getplot(df_desc,by.group = "true_label",ggtitle0 = "Celltype",pt.size = 0.5,reduction.use = reduction.use)+coord_cartesian()+
  scale_color_manual(values=colorRampPalette(color_celltype[1:13])(13))
pdesc_3=getplot(df_desc,by.group = "true_label",ggtitle0 = "tech",pt.size = 0.5,reduction.use = reduction.use)+
   scale_color_manual(values=colorRampPalette(color_celltype[1:13])(13))+
  coord_cartesian()

#pdesc_4=getfeature.plot(x,pt.size = 0.5,cols.use = c("red","grey"))[[1]]+coord_cartesian()
dim1="UMAP_1"
dim2="UMAP_2"



options(repr.plot.width = 15, repr.plot.height = 5)
p=ggarrange(pdesc_1,pdesc_2,pdesc_3, ncol = 3,nrow=1) # library(egg)
## 保存高分辨率图片

在这里插入图片描述

不带图例

resolution_use="0.8"
reduction.use="umap"
desc_use=paste0("desc_",resolution_use)
df_desc[,desc_use]=factor(as.numeric(as.character(df_desc[,desc_use])))
ari=mclust::adjustedRandIndex(df_desc[,'true_label'],df_desc[,desc_use])
#pdesc_1=getplot(df_desc,by.group = desc_use,ggtitle0 = paste0("Cluster","(ARI=",round(ari,3),")"),pt.size = 0.2)+theme(plot.title = element_text(color="red"))
df_desc$res=df_desc[,desc_use]

pdesc_1=getplot(df_desc,by.group = "pred_label",ggtitle0 = "DESC",pt.size = 0.5,reduction.use = reduction.use)+theme(plot.title = element_text(color="red"))+
  scale_color_manual(values=colorRampPalette(col.set.update)(15))+theme_use+theme(legend.position = "none")
  coord_cartesian()
pdesc_2=getplot(df_desc,by.group = "true_label",ggtitle0 = "Celltype",pt.size = 0.5,reduction.use = reduction.use)+coord_cartesian()+
  scale_color_manual(values=colorRampPalette(color_celltype[1:13])(13))+theme_use+theme(legend.position = "none")
pdesc_3=getplot(df_desc,by.group = "true_label",ggtitle0 = "tech",pt.size = 0.5,reduction.use = reduction.use)+
   scale_color_manual(values=colorRampPalette(color_celltype[1:13])(13))+theme_use+theme(legend.position = "none")
  coord_cartesian()

#pdesc_4=getfeature.plot(x,pt.size = 0.5,cols.use = c("red","grey"))[[1]]+coord_cartesian()
dim1="UMAP_1"
dim2="UMAP_2"



options(repr.plot.width = 15, repr.plot.height = 5)
p=ggarrange(pdesc_1,
            pdesc_2,
            pdesc_3,
            ncol = 3,nrow=1) # library(egg)
## 保存高分辨率图片

print("hello world")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值