【DimPlot】【FeaturePlot】使用小tips

 

目录

DimPlot函数参数解析

栅格化点图

放大 ggplot2 图例的点,修改图例的标题

FeaturePlot函数参数解析

调整FeaturePlot颜色

 分组绘制featureplot

随手笔记,持续更新中。。。

Reference


DimPlot函数参数解析

  • object: 一个Seurat对象,包含要进行可视化的数据集。

  • dims: 一个长度为2的数字向量,指定要绘制的维度,通常是c(1, 2)来表示降维结果的前两个维度。

  • cells: 一个可选的向量,指定要在图中显示的细胞。默认为所有细胞。

  • cols: 用于指定点的颜色的向量或预定义的颜色方案。默认情况下,使用ggplot2的颜色方案。

  • pt.size: 用于调整点的大小。

  • reduction: 指定要使用的降维方法,例如"umap"、"tsne"或"pca"。如果未指定,DimPlot会依次查找"umap"、"tsne"、"pca"中可用的结果。

  • group.by: 一个字符串,指定用于颜色编码的元数据变量,如细胞标识或任何其他分类变量。

  • split.by: 一个可选的字符串,指定一个元数据变量名,按此变量的值拆分数据并单独绘制每个组的图。

  • shape.by: 一个字符串,允许根据指定的元数据变量改变点的形状。默认情况下,所有点都绘制为圆形。

  • order: 一个向量,指定不同标识(如细胞类型)的绘制顺序。有助于在图中凸显某些细胞群。

  • shuffle: 一个逻辑值,指定是否在绘制前随机打乱点的顺序。有助于避免绘图中的遮挡问题。

  • seed: 当shuffle = TRUE时,用于随机数生成的种子,确保结果可复现。

  • label: 一个逻辑值,指定是否在图上标记每个群组(如细胞类型)。

  • label.size: 标签文字的大小。

  • label.color: 标签文字的颜色。

  • label.box: 一个逻辑值,指定是否在标签周围添加边框。

  • repel: 一个逻辑值,指定是否使用标签排斥机制,以避免标签相互遮盖

  • cells.highlight: 指定要突出显示的细胞向量,这些细胞将以不同的颜色或大小突出显示。

  • cols.highlight: 用于突出显示的颜色向量。

  • sizes.highlight: 突出显示的细胞的大小向量。

  • na.value: 在使用自定义颜色比例时,为缺失数据(NA)点指定的颜色值。

  • ncol: 当绘图组合时,指定列的数量。

  • combine: 一个逻辑值,指定是否将多个图合并为一个图对象。如果为FALSE,则返回一个包含多个ggplot对象的列表。

  • raster:是否栅格化(图像中的点是拼合后的位图,不再是矢量图)。如果点超过10万个,自动栅格化。

  • raster.dpi:栅格化后的分辨率,传递给 geom_scattermore(),默认 c(512, 512)

  • ...: 其他传递给DimPlot的额外参数,这些参数会进一步自定义绘图的外观和行为。

group.by 参数 tip:默认是 ident 分组,通过修改 Idents(rds) <- rds$annotation 来设置按照什么组别绘图。

order 参数 tip:可以设置为TRUE或者FALSE,当设置WieTRUE时,会突出要显示的那群细胞。

shuffle参数tips: 默认是F,当点被被遮挡时可以设置为T

#或者所有细胞类型的list
list_celltye = levels(celltype)

#获取当先细胞类型type所在的index
index_celltye  = which(list_celltye == type)

#新建一个全为灰色的颜色板
colors <- rep("#f0f0f0", length(celltype)) #单独复制一个cluster的颜色

#根据type的index设置颜色版对应的位置为红色
colors[index_celltye] = "#fb6a4a"

#绘图,选择order=TRUE
p = DimPlot(combined, cols = colors,repel = T,group.by = "annotation", order = TRUE)#置顶该群细胞

#保存图像
ggsave(p,file=paste0(ch_dir,"single_celltyep/",type,"_DimPlot.pdf"), width = 6, height = 5)

栅格化点图

scattermore::geom_scattermore()函数

library(ggplot2)
library(scattermore)
set.seed(2022)
ggplot(data.frame(x=rnorm(100000), y=rexp(100000))) +
  geom_scattermore(aes(x,y,color=x),
                   pointsize=3,
                   alpha=0.1,
                   pixels=c(1000,1000),
                   interpolate=TRUE) +
  scale_color_viridis_c()

放大 ggplot2 图例的点,修改图例的标题

library(ggplot2)
g1=ggplot(mtcars, aes(mpg, disp, color= factor(gear) ))+
  geom_point()+
  theme_bw()+ggtitle("Fig1")
g1 #原图
g2=g1+guides(color = guide_legend(override.aes = list(size = 3)))+ #图例放大
  ggtitle("Fig2"); g2
g3=g2+labs(color = NULL, title = "Fig3") #修改图例的标题
g3
g1+g2+g3

FeaturePlot函数参数解析

  • object: Seurat对象,包含要进行可视化的数据集。

  • features: 字符向量,指定要在图中展示的特征(例如基因或元数据列名)。

  • dims: 数字向量,长度为2,指定要用于绘图的降维空间的维度(例如c(1, 2)表示第一和第二维度)。

  • cells: 可选的,指定要在图中展示的细胞的向量。默认是所有细胞。

  • cols: 字符向量或颜色向量,用于定义绘图中使用的颜色渐变。

  • pt.size: 点的大小。

  • order: 逻辑值,指定是否根据特征表达量的顺序绘制细胞,可以帮助突出表达某特征的细胞。

  • min.cutoff, max.cutoff: 用于指定每个特征的表达值截止的向量。可以使用百分位数来指定截止点(例如,'q1', 'q99'表示1%和99%分位数)。

  • reduction: 指定要使用的降维技术,例如"umap"、"tsne"或"pca"。如果未指定,FeaturePlot会依次查找"umap"、"tsne"、"pca"中可用的结果。

  • split.by: 字符串,指定元数据中的一个变量,用于按该变量的不同类别拆分并分别绘制图形。

  • shape.by: 可选的,允许根据某个细胞属性改变点的形状。

  • slot: 指定从哪个Seurat对象的槽中提取表达数据进行可视化。

  • blend: 逻辑值,指定是否混合两个特征的表达值来同时可视化它们。

  • blend.threshold: 设置用于混合特征表达的阈值,范围从0到1。

  • label: 是否在图上标记群组。

  • label.size: 标签文字的大小。

  • repel: 逻辑值,指定是否使用标签排斥机制,以避免标签之间的重叠。

  • ncol: 数字,指定在使用split.by时,合并到一个图中的列数。

  • coord.fixed: 逻辑值,指定是否使用固定的纵横比绘制坐标系。

  • by.col: 逻辑值,指定在分列展示时是否按列而非按行展示特征图。

  • interactive: 逻辑值,指定是否启用交互式FeaturePlot

  • combine: 逻辑值,指定是否将多个特征图合并为单个绘图对象。如果为FALSE,则返回一个包含多个ggplot对象的列表。

调整FeaturePlot颜色

cols :cols = if (blend) { c("lightgrey", "#ff0000", "#00ff00") } else {
c("lightgrey", "blue") },两种颜色形成渐变。

以字符串向量的形式提供,第一种颜色对应于低值,第二种颜色对应于高值。也接受色阶或颜色向量。注意:这将把数据分为若干种颜色提供。什么时候混合是真的,从1到3的任何地方颜色:1种颜色:被视为双底片的颜色,将为每个功能表达式2使用默认颜色2和3颜色:视为每个特征表达式的颜色,将使用默认颜色1作为双底片3+颜色:第一种颜色用于双底片,颜色2和颜色3用于每个特征表达式,所有其他都忽略

p1 <- FeaturePlot(object = sce2, features = "CD3D") 

p2 <- FeaturePlot(sce2, "CD3D", cols = c("#F0F921FF", "#7301A8FF"))

p3 <- FeaturePlot(sce2, "CD3D", cols = brewer.pal(10, name = "RdBu"))

p4 <- FeaturePlot(object = sce2, features = "CD3D") + 
  scale_colour_gradientn(colours = rev(brewer.pal(n = 10, name = "RdBu")))

scCustomize 修改大小

p11 <- FeaturePlot_scCustom(seurat_object = sce2, features = "CD3D")

p22 <- FeaturePlot_scCustom(seurat_object = sce2, features = "CD3D", colors_use = brewer.pal(11, name = "RdBu"),order = T)

p11 + p22

 分组绘制featureplot

FeaturePlot_scCustom(seurat_object = sce2, features = "CD3D", 
                    split.by = "orig.ident",num_columns = 4)

随手笔记,持续更新中。。。

Reference

【1】https://zhuanlan.zhihu.com/p/652376083

【2】http://www.idata8.com/rpackage/Seurat/FeaturePlot.h

【3】http://www.idata8.com/rpackage/Seurat/DimPlot.html

  • 29
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值