Tracksplot的绘制(绘图基础知识)

本文介绍了如何利用Seurat和ggplot2库在R中处理10X单细胞数据,展示基因表达变化,并扩展至创建世界地图面板,强调了基础绘图技巧的学习重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近年中汇总,会持续到6月底,我们就分享一些基础知识!

我们的任务是实现下面这张图

直接开始,读取数据

library(Seurat)
library(ggplot2)
library(reshape2)
library(RColorBrewer)
library(ggalt)  
colormap = colorRampPalatte(rev(brewer.pal(11,'RdYIBu')))(15)
Seurat_obj = readRDS(10X单细胞/空间seurat对象)
df = as.data.frame(t(as.matrix(Seurat_obj@assays$RNA@data)))[,感兴趣的基因列表]
df$x = rownames(df)
dfData = melt(df,id = 'x')

开始绘制

ggplot(dfData,aes(x = x,y = value)) + geom_horizon(colour = NA,size = 0.25,bandwidth = 10) +
facet_warp(~variable,ncol =1 ,strip.position = 'left') +
scale_fill_manual(values = colormap) +
xlab('Barcode')  +           ###这里建议大家转换一下,不要显示barcode,转换成cluster或者细胞类型
ybal('') +
theme_bw() +
theme(strip.background = element_blank(),
strip.text.y = element_text(hjust = 0 ,angle = 180,size = 10),
axis.text.y = element_blank(),
panel.grid = element_blank(),
panel.spacing.y = unit(-0.05,'lines'),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
axis.ticks.y = element_blank())

在这里我们大功告成,完成上面图谱的绘制。

扩展一下

使用ggplot2和ggalt包绘制世界地图面板

代码如下
library(ggplot2)  #需安装最新的2.0.0版本
library(dplyr)  #你也可以用内置的subset函数来代替filter函数
library(ggalt) #安装方法: devtools:install_github("hrbrmstr/ggalt")。需安装加载devtools包
library(ggthemes)
 
world <- map_data("world")
world <- world[world$region != "Antarctica",] # 剔除南极洲
 
dat <- read.csv("CLIWOC15.csv")        
dat <- filter(dat, Nation != "Sweden") 
 
gg <- ggplot()
gg <- gg + geom_map(data=world, map=world,
                    aes(x=long, y=lat, map_id=region),
                    color="white", fill="#7f7f7f", size=0.05, alpha=1/4)
gg <- gg + geom_point(data=dat, 
                      aes(x=Lon3, y=Lat3, color=Nation), 
                      size=0.15, alpha=1/100)
gg <- gg + scale_color_tableau()
gg <- gg + coord_proj("+proj=wintri")
gg <- gg + facet_wrap(~Nation)
gg <- gg + theme_map()
gg <- gg + theme(strip.background=element_blank())
gg <- gg + theme(legend.position="none")
gg

基础知识,多多学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值