【DimPlot】【FeaturePlot】使用小tips

news2024/9/26 3:29:15

 

目录

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1507319.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于spring boot技术的签到管理系统的设计与实现

目 录 摘 要 I Abstract II 引 言 1 1 相关技术 3 1.1 SpringBoot框架 3 1.2 Vue框架 3 1.3 ECharts 3 1.4 JQuery技术 4 1.5 本章小结 4 2 系统分析 5 2.1 需求分析 5 2.2 非功能需求 8 2.3 本章小结 8 3 系统设计 9 3.1 系统总体设计 9 3.1.1 系统体系结构 9 3.1.2 系统目录…

【深入理解LRU Cache】:缓存算法的经典之作

目录 一、什么是LRU Cache&#xff1f; 二、LRU Cache的实现 1.JDK中类似LRUCahe的数据结构LinkedHashMap 2.自己实现双向链表 三、LRU Cache的OJ 一、什么是LRU Cache&#xff1f; LRU Cache&#xff08;Least Recently Used的缩写&#xff0c;即最近最少使用&#xff0…

python INI文件操作与configparser内置库

目录 INI文件 configparser内置库 类与方法 操作实例 导入INI文件 查询所有节的列表 判断某个节是否存在 查询某个节的所有键的列表 判断节下是否存在某个键 增加节点 删除节点 增加节点的键 修改键值 保存修改结果 获取键值 获取节点所有键值 其他读取方式 …

JAVA实战开源项目:超市自助付款系统(Vue+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 商品类型模块2.2 商品模块2.3 超市账单模块 三、界面展示3.1 登录注册模块3.2 超市商品类型模块3.3 超市商品模块3.4 商品购买模块3.5 超市账单模块 四、部分源码展示4.1 实体类定义4.2 控制器接口 五、配套文档展示六、…

【APP逆向】酒仙网预约茅台(附带源码)

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 所属的专栏:爬虫实战,零基础、进阶教学 景天的主页:景天科技苑 文章目录 酒仙网预约抢购茅台1.抓包分析,账户名和密码登录2.短信登录3.登录+茅台预约 密码登录酒仙网预约抢购茅台 目标:账号登…

Fortran语法介绍(三)

个人专栏—ABAQUS专栏 Abaqus2023的用法教程——与VS2022、oneAPI 2024子程序的关联方法 Abaqus2023的用法教程——与VS2022、oneAPI 2024子程序的关联方法Abaqus有限元分析——有限元网格划分基本原则 Abaqus有限元分析——有限元网格划分基本原则各向同性线弹性材料本构模型…

吴恩达深度学习笔记:神经网络的编程基础2.1-2.3

目录 第一门课&#xff1a;神经网络和深度学习 (Neural Networks and Deep Learning)第二周&#xff1a;神经网络的编程基础 (Basics of Neural Network programming)2.1 二分类(Binary Classification)2.2 逻辑回归(Logistic Regression)2.3 逻辑回归的代价函数&#xff08;Lo…

Gin 获取请求参数

POST 请求参数 Gin 获取Post请求URL参数有三种方式 func (c *Context) PostForm(key string) string func (c *Context) DefaultPostForm(key, defaultValue string) string func (c *Context) GetPostForm(key string) (string, bool)大多数情况下使用的是application/x-www…

Electron程序如何在MacOS下获取相册访问权限

1.通过entitiment.plist&#xff0c;在electron-builder签名打包时&#xff0c;给app包打上签名。最后可以通过codesign命令进行验证。 TestPhotos.plist electron-builder配置文件中加上刚刚的plist文件。 通过codesign命令验证&#xff0c;若出现这个&#xff0c;则说明成…

day60 安装MySql数据库

1如何安装MySQL数据库 2数据库概念 3数据库语言 1 SQL&#xff08;数据结构化查询语句&#xff09; 2分类 1数据库查询语言DQL select 2数据库操作语言DML insert&#xff0c;update&#xff0c;delete 3数据库定义语言DDL create&#xff0c;alter修改&am…

MySQL--优化(索引--聚簇和非聚簇索引)

MySQL–优化&#xff08;索引–聚簇和非聚簇索引&#xff09; 定位慢查询SQL执行计划索引 存储引擎索引底层数据结构聚簇和非聚簇索引索引创建原则索引失效场景 SQL优化经验 一、聚簇索引 聚簇索引&#xff1a;将数据存储与索引放到了一块&#xff0c;索引结构的叶子节点保存…

C语言连接【MySQL】

稍等更新图片。。。。 文章目录 安装 MySQL 库连接 MySQLMYSQL 类创建 MySQL 对象连接数据库关闭数据库连接示例 发送命令设置编码格式插入、删除或修改记录查询记录示例 参考资料 安装 MySQL 库 在 CentOS7 下&#xff0c;使用命令安装 MySQL&#xff1a; yum install mysq…

明日周刊-第1期

打算开一个新的专栏&#xff0c;专门记录一周发生的事情以及资源共享&#xff0c;那么就从第一期开始吧。 1. 一周热点 人工智能技术突破&#xff1a;可能会有关于人工智能领域的最新研究成果&#xff0c;例如新算法的开发、机器学习模型的提升或者AI在不同行业的应用案例。 量…

PT:dmsa如何设置don‘t use

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 往期文章链接: PT: 基于Multi Voltage的physical aware DMSA PT: DMSA remote_execute { \ define_user_attribu

Tomcat源码解析(四):StandardServer和StandardService

Tomcat源码系列文章 Tomcat源码解析(一)&#xff1a;Tomcat整体架构 Tomcat源码解析(二)&#xff1a;Bootstrap和Catalina Tomcat源码解析(三)&#xff1a;LifeCycle生命周期管理 Tomcat源码解析(四)&#xff1a;StandardServer和StandardService 文章目录 前言一、Standar…

大数据赋能,能源企业的智慧转型之路

在数字洪流中&#xff0c;大数据已经成为推动产业升级的新引擎。特别是在能源行业&#xff0c;大数据的应用正引领着一场深刻的智慧转型。今天&#xff0c;我们就来探讨大数据如何在能源企业中发挥其独特的魅力&#xff0c;助力企业提效降本&#xff0c;实现绿色发展。 动态监控…

R语言读取大型NetCDF文件

失踪人口回归&#xff0c;本篇来介绍下R语言读取大型NetCDF文件的一些实践。 1 NetCDF数据简介 先给一段Wiki上关于NetCDF的定义。 NetCDF (Network Common Data Form) is a set of software libraries and self-describing, machine-independent data formats that support…

光线追踪11 - Positionable Camera(可定位相机)

相机和介质一样&#xff0c;调试起来很麻烦&#xff0c;所以我总是逐步开发我的相机。首先&#xff0c;我们允许可调节的视野&#xff08;fov&#xff09;。这是渲染图像从一边到另一边的视觉角度。由于我们的图像不是正方形的&#xff0c;水平和垂直的视野是不同的。我总是使用…

mybatis基础操作(三)

动态sql 通过动态sql实现多条件查询&#xff0c;这里以查询为例&#xff0c;实现动态sql的书写。 创建members表 创建表并插入数据&#xff1a; create table members (member_id int (11),member_nick varchar (60),member_gender char (15),member_age int (11),member_c…

【探索程序员职业赛道:挑战与机遇】

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…