目录
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