ggplot2的aes和aes_string

开发者 2024-9-9 15:31:53 131 0 来自 中国
提取umap坐标和metadata信息
reduction_loci <- as.data.frame(Embeddings(pbmc, reduction="umap"))reduction_loci <- cbind(reduction_loci, pbmc[[]])通例使用aes的画法:
p <-ggplot(reduction_loci, aes(x=UMAP_1,y=UMAP_2))pal <-colorRampPalette(c("lightgrey","purple"))p1 <-p + geom_point(aes(color=nCount_RNA)) + scale_colour_gradientn(colors=pal(500)) + theme_classic()p1 1.png 假如想要绘制其他参数,只必要更改x和y即可,非常简单。但是假如我们实现了一个模子,内里的特性特别多,总不会每次想看其他特性,都要修改代码,这显然不科学,以是我们以传参的情势,把上面的代码改成如下:
args=colnames(reduction_loci)x=args[1]y=args[2]p <-ggplot(reduction_loci, aes_string(x=x,y=y))pal <-colorRampPalette(c("lightgrey","purple"))p1 <-p + geom_point(aes(color=nCount_RNA)) + scale_colour_gradientn(colors=pal(500)) + theme_classic()p1##跟上面的图是一样的注意在这里就使用了 aes_string 更换 aes。由于 Rscript 传入的参数是字符串,我们要使用字符串映射变量。也就是说,aes_string是aes的参数化。
22.7.18更新:
看到生信技能树昨天推送了一篇相干文章,也可以资助明白这两个函数:ggplot的aes和aes_string的差异
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-21 20:58, Processed in 0.133525 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表