当前位置: 首页 > news >正文

Circular Plot系列(一): 环形热图绘制

针对近期多个粉丝咨询环形图的绘制,我意识到,我们似乎没有真正介绍过circle图,但这一类图确是非常常用的图,所以这里详细学习一下circle的绘制,使用的是circlize包,功能很完善:安装包,


#https://github.com/jokergoo/circlize/tree/master
#install package
install.packages("circlize")
#devtools::install_github("jokergoo/circlize")
library(circlize)

做环形热图使用circos.heatmap函数,我们看看具体的参数解析:

#了解下环形热图绘制circos.heatmap基本参数。
circos.heatmap(mat, #矩阵或者向量,矩阵就是和我们做hetamap的时候提供的一样,例如行是基因,列是分组sample,向量的化会自动转化为一个单列矩阵,说到底还是矩阵,适合于plot单组数值split = NULL, #环线热图分列,例如我们可以设置分组,让热图分为多个扇形col, #热图颜色设置,参照colorRamp2,设置颜色和范围,例如一般设置:colorRamp2(c(-2, 0, 2), c("blue", "white", "red"))cell.border = NA, #r热图格子边框颜色,默认NA不设置cell.lwd = 1,#边框线条宽度bg.border = NA, #cell.border设置的是每个单元格的边框,bg.border设置的是整个热图外边框颜色bg.lty = par("lty"),#整个热图边框线条类型,可以直接设置数字,例如1,2,3等等,选择是实线还是虚线类型的线条bg.lwd = par("lwd"),#整个热图边框线条宽度,可直接设置数值cluster = TRUE, #热图行是否聚类。该值也可以是一个dendprogram /hclust对象或其他可以用as. dendprogram转换为的对象。也就是所已经做好聚类的objectclustering.method = "complete", #聚类方法,参照hclust函数,可选"ward.D", "ward.D2", "single", "complete", "average" (= UPGMA), "mcquitty" (= WPGMA), "median" (= WPGMC) or "centroid" (= UPGMC).distance.method = "euclidean",#参照dist函数,method可选"euclidean", "maximum", "manhattan", "canberra", "binary" or "minkowski". # dend.callback = function(dend, m, si) reorder(dend, rowMeans(m)),dend.side = c("none", "outside", "inside"), #聚类树位置,默认不展示。可选择外圈或者内圈放置dend.track.height = 0.1,#聚类树高度rownames.side = c("none", "outside", "inside"), #行名位置,默认不展示。可选择外圈或者内圈放置rownames.cex = 0.5,#行名文字大小rownames.font = par("font"), #行名字体rownames.col = "black",#行名颜色cell_width = rep(1, nrow(mat)),#热图单元格宽度

准备作图数据,这里我们使用转录组基因表达矩阵演示:


#prepare data
#这是一个转录组基因表达矩阵,也是我们常做pheatmap的输入矩阵
#行是基因,列是分组,有两个分组,HC,TL,分别有6个重复
df <- read.csv('./df_heat.csv', header = T, row.names = 1)
plot_df <- as.matrix(df)
#因为circos.heatmap没有像pheatmap那样,直接参数里面对数据进行scale
#所以我们plot之前需要对表达数据进行标准化,如果仅仅是想展示数值,那么数据并不用标准化
plot_df <- t(scale(t(plot_df)))#对数据进行标准化处理,按行z-score标准化

基础plot:布局也是绘图关键哦,了解下布局一些参数,可以调整:不可死板。

circos.par(start.degree,#数值,设置环形图的起始角度。0是其实,位于3点钟方向,数值增大,开口逆时针移动gap.degree,#数值或数值向量,设置扇区之间的间隔角度.单个数值设置表示多个扇区之间距离一致。向量可设置不一样间隔gap.after, #设置圆环开口的大小,数值越大,开口越大track.margin,#数值向量,设置轨道的上下边距cell.padding,#设置单元格的内边距,扇形内格子之间的距离,一般设置为0track.height,#设置轨道的高度,也就是圆环的宽度,默认0.2clock.wise,#设置环形方向是否为顺时针,默认Tlabels.cex,#设置文字大小labels.font,#设置文字字体,1=普通,2=粗体,3=斜体,4=粗斜体)unit.circle.segments,#设置绘制圆时的线段数量(影响圆形的平滑度),默认500big.gap,#设置两个环形图之间的间隔角度(用于多环形图)circle.margin,#环形图布局,图形距离四边的距离,数值向量设置。..., RESET = FALSE, READ.ONLY = NULL, LOCAL = FALSE, ADD = FALSE)

#布局设置
circos.clear()
circos.par(start.degree=30, gap.degree=30,track.height=0.3)circos.heatmap(plot_df,col = colorRamp2(c(-2,0,2),c("#003399","white","#cccc00")), cell.border = NA, cell.lwd = 1,bg.border = 'black', bg.lty = par("lty"),bg.lwd = par("lwd"),cluster = TRUE, clustering.method = "ward.D2", distance.method = "euclidean",dend.side = c("inside"), dend.track.height = 0.1,rownames.side = c("outside"),rownames.cex = 0.5,#行名文字大小rownames.font = par("font"), #行名字体rownames.col = "black")

image.png

基础图形出来了,感觉把平常的热图给掰弯了,现在还缺少legend和sample名:添加是比较麻烦的,需要为整个轨道创建绘图区域,使用函数circos.track():添加文字使用circos.text,列名的位置需要根据自己的实际数据,调整x,y轴的坐标慢慢实现,如果感觉调整费时间,可以导出手动修饰,这也是circlize的一个不方便之处。


circos.track(track.index = get.current.track.index(),  # 指定当前轨道的索引panel.fun = function(x, y) {            #panel.fun,自定义绘制函数,用于在轨道中添加图形或注释if (CELL_META$sector.numeric.index == 1) {  # 仅在第一个扇区执行cn = colnames(plot_df)  # 获取数据框的列名n = length(cn)          # 列名的数量#添加文字注释,参数需要设置文字位置xy坐标circos.text(x = CELL_META$cell.xlim[2] + convert_x(0.8, "mm"),#x坐标y = CELL_META$cell.ylim[2] + 4.5 * (1:n),  # y 坐标,labels = rev(cn),       # 文本内容(列名),这里需要注意,rev一下,保证标注正确cex = 0.4,         # 字体大小facing = "inside"  # 文本方向(朝内))}},bg.border = NA  # 轨道背景无边框
)

image.png

然而,我们前面也介绍了,circos.heatmap有一个参数,split,热图可以按照行的分组split,这里演示split以及添加分组注释。其他和之前一致。我的数据并没有分组,这里随机设置的,没有任何意义。将基因按照功能进行了分组。

annotation_row=data.frame(Pathway=c(rep("Wnt",20),rep("Inflammatory",32),rep("HIF",34)))#对行进行注释,用于后续的热图分裂
row.names(annotation_row) <- rownames(df)
annotation_row <- as.matrix(annotation_row)#在circlize函数中,需要为matrix#plot,画图和之前一样,需要注意的是布局设置的gap.degree
#这里我们有三组,也就是split时出现三组扇区,前面两个扇区的gap设置小点
#最后一个设置大一点,便于添加列名
circos.clear()
circos.par(start.degree=30, gap.degree=c(2,2,30),track.height=0.3)
circos.heatmap(plot_df,split = annotation_row,col = colorRamp2(c(-2,0,2),c("#003399","white","#cccc00")), cell.border = NA, cell.lwd = 1,bg.border = 'black', bg.lty = par("lty"),bg.lwd = par("lwd"),cluster = TRUE, clustering.method = "ward.D2", distance.method = "euclidean",dend.side = c("inside"), dend.track.height = 0.05,rownames.side = c("outside"),rownames.cex = 0.5,#行名文字大小rownames.font = par("font"), #行名字体rownames.col = "black",dend.callback=function(dend,m,si){color_branches(dend,k=5,col=c("#E69253", "#EDB931", "#E4502E", "#4378A0", "#272A2A"))})#还可以对层次聚类添加颜色,按照聚类数#
circos.track(track.index = get.current.track.index(),  # 指定当前轨道的索引panel.fun = function(x, y) {            #panel.fun,自定义绘制函数,用于在轨道中添加图形或注释if (CELL_META$sector.numeric.index == 3) {  # 仅在第一个扇区执行cn = colnames(plot_df)  # 获取数据框的列名n = length(cn)          # 列名的数量#添加文字注释,参数需要设置文字位置xy坐标circos.text(#这里我们将列名绘制在环形的尾部,我们前面参数里面解释了,环形是默认顺时针绘制的x = CELL_META$cell.xlim[2] + convert_x(0.8, "mm"),#前面的部分是获取行的长度,也就是绘制文字的x坐标,后面convert_x是调整参数,0.5表示文本向右偏移0.5y = CELL_META$cell.ylim[2] + 12 * (1:n),  # y 坐标,labels = rev(cn),       # 文本内容(列名),这里需要注意,rev一下,保证标注正确cex = 0.4,         # 字体大小facing = "inside"  # 文本方向(朝内))}},bg.border = NA  # 轨道背景无边框
)#添加分组设置,我们直接接上一个图层plot,这里没有设置track.index,所以注释在内圈
circos.track(ylim=c(0,1),track.height=0.081,#分组注释环形高度,可以设置低一点bg.col=c("#FF0000", "#00A08A", "#F2AD00"),#分组注释背景颜色panel.fun=function(x, y) {xlim = get.cell.meta.data("xlim")ylim = get.cell.meta.data("ylim")sector.index = CELL_META$sector.indexcircos.text(mean(xlim),mean(ylim),sector.index, col = "black", cex = 0.8, facing = 'bending.inside', niceFacing = TRUE)})

image.png

相关文章:

Circular Plot系列(一): 环形热图绘制

针对近期多个粉丝咨询环形图的绘制&#xff0c;我意识到&#xff0c;我们似乎没有真正介绍过circle图&#xff0c;但这一类图确是非常常用的图&#xff0c;所以这里详细学习一下circle的绘制&#xff0c;使用的是circlize包&#xff0c;功能很完善&#xff1a;安装包, #https:/…...

字符串匹配 之 KMP算法

文章目录 习题28.找出字符串中第一个匹配项的下标1392.最长快乐前缀 本博客充分参考灵神和知乎的另一位博主 灵神KMP算法模版 知乎博主通俗易懂讲解 对于给定一个主串S和一个模式串P,如果让你求解出模式串P在主串S中匹配的情况下的所有的开始下标简单的做法又称为Brute-Force算…...

「一针见血能力」的终极训练手册

缘起 和顶尖的高手接触以后&#xff0c;发现他们在表达沟通上面的能力真的太强了&#xff0c;仿佛有种一阵见血看问题的能力&#xff0c;这种拨开浓雾看本质的能力是嘈杂世界防止上当受骗的不二法门. 网上找了一些训练方法&#xff0c;可以试试训练锐化思维&#xff0c;提高表…...

Linux 入门:操作系统进程详解

目录 一.冯诺依曼体系结构 一&#xff09;. 软件运行前为什么要先加载&#xff1f;程序运行之前在哪里&#xff1f; 二&#xff09;.理解数据流动 二.操作系统OS(Operator System) 一&#xff09;.概念 二&#xff09;.设计OS的目的 三&#xff09;.如何理解操作系统…...

【2025软考高级架构师】——2024年05月份真题与解析

摘要 本文内容是关于2025年软考高级架构师考试的相关资料&#xff0c;包含2024年05月份真题与解析。其中涉及体系结构演化的步骤、OSI协议中能提供安全服务的层次、数据库设计阶段中进行关系反规范化的环节等知识点&#xff0c;还提及了软考高级架构师考试的多个模块&#xff…...

Mybatis执行流程知多少

思维导图&#xff1a; 一、MyBatis 执行流程概述 MyBatis 的执行流程可以大致分为以下几个关键步骤&#xff1a;配置加载、会话创建、SQL 执行和结果处理。下面我们将逐步详细介绍每个步骤。 二、配置加载 1. 配置文件的重要性 MyBatis 的配置文件是整个框架的基础&#xff0c;…...

码蹄集——偶数位、四边形坐标

目录 MT1039 偶数位 MT1051 四边形坐标 MT1039 偶数位 思路&#xff1a;直接使用按位操作符 一个整型数字是32位,十六进制表示为0x后跟8个字符,每个字符为0-e,代表0-15; 把偶数位改为0,就是用0去&偶数位,用1去&奇数位,即0xAAAAAAAA,A代表10,1010(从右往 左依次为0位,…...

Java 中使用 Callable 创建线程的方法

一、Callable 接口概述​ Callable接口位于java.util.concurrent包中&#xff0c;与Runnable接口类似&#xff0c;同样用于定义线程执行的任务&#xff0c;但它具有以下独特特性&#xff1a;​ 支持返回值&#xff1a;Callable接口声明了一个call()方法&#xff0c;该方法会在…...

代码随想录算法训练营Day44

力扣1045.不相交的线【medium】 力扣53.最大子数组和【medium】 力扣392.判断子序列【easy】 一、力扣1045.不相交的线【medium】 题目链接&#xff1a;力扣1045.不相交的线 视频链接&#xff1a;代码随想录 题解链接&#xff1a;灵茶山艾府 1、思路 和1143.最长公共子序列一…...

Java大师成长计划之第12天:性能调优与GC原理

&#x1f4e2; 友情提示&#xff1a; 本文由银河易创AI&#xff08;https://ai.eaigx.com&#xff09;平台gpt-4o-mini模型辅助创作完成&#xff0c;旨在提供灵感参考与技术分享&#xff0c;文中关键数据、代码与结论建议通过官方渠道验证。 在 Java 编程中&#xff0c;性能调优…...

【MySQL】索引(重要)

目录 一、索引本质&#xff1a; 索引的核心作用 索引的优缺点 二、预备知识&#xff1a; 硬件理解&#xff1a; 软件理解&#xff1a; MySQL与磁盘交互基本单位&#xff1a; 三、索引的理解&#xff1a; 理解page&#xff1a; 单个page&#xff1a; 多个page&#x…...

C++多态(上)

目录 一、多态的概念 二、多态的定义及实现 1. 多态的构成条件 2. 虚函数 3. 虚函数的重写 4. C11 override 和 final 4.1 final 关键字 4.2 override 关键字 5. 重载、覆盖&#xff08;重写&#xff09;、隐藏&#xff08;重定义&#xff09;的对比 三、抽象类 1. 概…...

【AI提示词】 复利效应教育专家

提示说明 一位拥有金融学和教育学背景的知识型内容创作者&#xff0c;擅长用简单易懂的语言向读者解释复杂概念 提示词 # Role: 复利效应教育专家## Profile - language: 中文 - description: 一位拥有金融学和教育学背景的知识型内容创作者&#xff0c;擅长用简单易懂的语言…...

嵌入式系统基础知识

目录 一、冯诺依曼结构与哈佛结构 &#xff08;一&#xff09;冯诺依曼结构 &#xff08;二&#xff09;哈佛架构 二、ARM存储模式 &#xff08;一&#xff09;大端模式 &#xff08;二&#xff09;小端模式 &#xff08;三&#xff09;混合模式 三、CISC 与 RISC &am…...

如何克服情绪拖延症?

引言 你是否也曾有过这样的经历&#xff1f; 明明手头有重要的工作&#xff0c;却总是忍不住刷手机、看视频&#xff0c;直到最后一刻才匆忙赶工&#xff1f; 你是否在心里暗暗发誓“明天一定好好干”&#xff0c;但第二天依旧重复着同样的拖延&#xff1f; 其实&#xff0…...

【操作系统】哲学家进餐问题

问题描述 哲学家进餐问题是并发编程中的一个经典问题&#xff0c;描述了五位哲学家围坐在一张圆桌旁&#xff0c;他们的生活由思考和进餐组成。在圆桌上有五个盘子&#xff0c;每位哲学家面前一个盘子&#xff0c;盘子之间有一支叉子。哲学家进餐需要同时使用左右两支叉子。问题…...

Kotlin协程解析

目录 一、协程的使用 二、协程的执行原理 2.1、挂起函数的反编译代码及执行分析 2.2、协程执行流程分析 2.2.1、createCoroutineUnintercepted方法 2.2.2、intercepted方法 2.2.3、resumeCancellableWith方法 2.3、Dispatcher----分发器的实现 2.3.1、Main 分发器的实…...

Nginx核心功能 02

目录 Nginx代理技术核心概念 &#xff08;一&#xff09;正向代理&#xff08;Forward Proxy&#xff09; 1. 基本定义 2. 技术原理 3. 应用场景 &#xff08;二&#xff09;反向代理&#xff08;Reverse Proxy&#xff09; 1. 基本定义 2. 技术原理 3. 应用场景 一、…...

聊聊对Mysql的理解

目录 1、Sql介绍 1.1、SQL的分类 1.2、数据库的三大范式 1.3、数据表的约束 1.4、约束的添加与删除 2、核心特性 3、主要组件 4、数据结构原理 5、索引失效 6、常用问题 7、优势与局限 前言 MySQL是一个开源的关系型数据库管理系统(RDBMS)&#xff0c;由瑞典MySQL A…...

「Mac畅玩AIGC与多模态17」开发篇13 - 条件判断与分支跳转工作流示例

一、概述 本篇在多节点串联的基础上,进一步引入条件判断与分支跳转机制,实现根据用户输入内容动态走不同执行路径。开发人员将学习如何配置判断节点、定义分支规则,以及如何在工作流中引导执行方向,完成基础的逻辑控制。 二、环境准备 macOS 系统Dify 平台已部署并可访问…...

pycharm terminal 窗口打不开了

参考添加链接描述powershell.exe改为cmd.exe发现有一个小正方形&#xff0c;最大化可以看见了。...

JAVA:使用 MapStruct 实现高效对象映射的技术指南

1、简述 在 Java 开发中,对象之间的转换是一个常见的需求,尤其是在 DTO(数据传输对象)和实体类之间的转换过程中。手动编写转换代码既耗时又容易出错,而 MapStruct 是一个优秀的对象映射框架,可以通过注解生成高效的对象转换代码,从而大大提升开发效率。 本文将介绍 M…...

Linux线程深度解析:从基础到实践

Linux线程深度解析&#xff1a;从基础到实践 一、线程基础概念 1. 进程与线程定义 进程&#xff1a;一个正在运行的程序&#xff0c;是操作系统资源分配的最小单位&#xff08;拥有独立的地址空间、文件描述符等资源&#xff09;&#xff0c;状态包括就绪、运行、阻塞。线程…...

【ROS2】launch启动文件如何集成到ROS2(Python版本)

一、简单实操 1.创建/打开一个功能包 mkdir -p my_ws/src cd my_ws/src ros2 pkg create my_pkg_example --build-type ament_python 2.创建Launch文件的存放目录 将所有启动文件都存储在launch包内的目录中。 目录结构如下所示&#xff1a; src/my_pkg_example/launch/…...

用 PyTorch 轻松实现 MNIST 手写数字识别

用 PyTorch 轻松实现 MNIST 手写数字识别 引言 在深度学习领域&#xff0c;MNIST 数据集就像是 “Hello World” 级别的经典入门项目。它包含大量手写数字图像及对应标签&#xff0c;非常适合新手学习如何搭建和训练神经网络模型。本文将基于 PyTorch 框架&#xff0c;详细拆…...

碰撞检测学习笔记

目录 SUMO 模拟碰撞 LimSim pygame模拟碰撞检测 SUMO 模拟碰撞 LimSim 多模态大语言模型&#xff08;M&#xff09;LLM的出现为人工智能开辟了新的途径&#xff0c;特别是提供增强的理解和推理能力&#xff0c;为自动驾驶开辟了新途径。本文介绍LimSim&#xff0c;LimSim的…...

Sway初体验

Sway&#xff08;缩写自 SirCmpwn’s Wayland compositor[1]&#xff09;是一款专为 Wayland 设计的合成器&#xff0c;旨在与 i3 完全兼容。根据官网所述&#xff1a; Sway 是 Wayland 的合成器&#xff0c;也是 x11 的 i3 窗口管理器的替代品。它可以根据您现有的 i3 配置工作…...

《工业社会的诞生》章节

工业革命的技术前奏 早期工业技术双引擎&#xff1a; 【火药武器】&#xff1a;重塑战争形态与经济地理 新式青铜炮助力殖民扩张&#xff0c;开辟全球贸易网络 高桅帆船&#xff08;西班牙大帆船&#xff09;实现洲际航行 战争规模化倒逼中央集权&#xff0c;催生国家-商人…...

消息队列MQ

参考资料&#xff1a;https://cloud.tencent.com/developer/article/2335397 https://www.cnblogs.com/hahaha111122222/p/18457859 消息队列是大型分布式系统不可缺少的中间件&#xff0c;也是高并发系统的基石中间件 消息队列 消息队列 Message Queue 消息队列是利用高效可…...

LangChain4J-XiaozhiAI 项目分析报告

LangChain4J-XiaozhiAI 项目分析报告 GitHub 链接 1. 项目概述 本项目名为 “硅谷小智&#xff08;医疗版&#xff09;”&#xff0c;是一个基于 Java 技术栈和 LangChain4J 框架构建的 AI 聊天助手应用。其核心目标是利用大型语言模型&#xff08;LLM&#xff09;的能力&am…...

学习spring boot-拦截器Interceptor,过滤器Filter

目录 拦截器Interceptor 过滤器Filter 关于过滤器的前置知识可以参考&#xff1a; 过滤器在springboot项目的应用 一&#xff0c;使用WebfilterServletComponentScan 注解 1 创建过滤器类实现Filter接口 2 在启动类中添加 ServletComponentScan 注解 二&#xff0c;创建…...

【程序+论文】大规模新能源并网下的火电机组深度调峰经济调度

目录 1 主要内容 讲解重点 2 讲解视频及代码 1 主要内容 该视频为《大规模新能源并网下的火电机组深度调峰经济调度》代码讲解内容&#xff0c;该程序有完全对照的论文&#xff0c;以改进IEEE30节点作为研究对象&#xff0c;系统包括5个火电机组和2个新能源机组&#xff0c;…...

【win11 】win11 键盘测试

我的键盘是支持mac和win的&#xff0c;fn tab 就能切换&#xff0c;有可能是用错了模式&#xff0c;导致 我alt a 就会弹出 win11的 wifi 等菜单控制 键盘测试网站 https://keyboard.bmcx.com/ 识别到我按下的是alt...

再识动静态库

动静态库 1 手动制作静态库2 手动调用静态库方式一&#xff1a;&#xff08;安装到系统&#xff09;方式二&#xff1a;&#xff08;和源文件一起&#xff09;方式三&#xff1a;&#xff08;使用带路径的库&#xff09; 3 动态库制作与使用方式一&#xff1a;拷贝到系统方式二…...

前端 uni-app 初步使用指南

在数字化浪潮下&#xff0c;实现应用多端适配成为开发者的刚需。uni-app 凭借 “一次编写&#xff0c;多端运行” 的特性&#xff0c;极大提升了开发效率&#xff0c;成为前端开发的热门选择。如果你是首次接触 uni-app&#xff0c;这篇文章将带你开启 uni-app 的使用之旅&…...

尼卡音乐 1.1.1 | 免费畅听全网音乐,支持无损下载,无广告无需注册登录

尼卡音乐是一款可以免费畅听全网音乐的应用程序&#xff0c;支持免费下载无损高品质音源&#xff0c;并且没有任何广告&#xff0c;无需注册登录。用户可以轻松搜索全网无损音质音源&#xff0c;并可将其他音乐APP的歌单导入&#xff0c;让音乐陪你开心一整天。该应用彻底拒绝臃…...

33.降速提高EMC能力

降速提高EMC能力 1. 电磁兼容问题的错误累积效应2. 降速减少累积效应的机理分析 1. 电磁兼容问题的错误累积效应 2. 降速减少累积效应的机理分析 降速之后&#xff0c;信号的波形更完整&#xff0c;容错空间更大&#xff1b;另外边沿变缓&#xff0c;对外干扰也会减小。...

【赵渝强老师】TiDB的MVCC机制

TiDB是一款开源的国产分布式关系型数据库。TiKV是TiDB的行存引擎&#xff0c;它支持多版本并发控制(Multi-Version Concurrency Control,MVCC)。假设有这样一种场景&#xff1a;某客户端A在写一个Key&#xff0c;另一个客户端B同时在对这个Key进行读操作。如果没有数据的多版本…...

数电填空题整理(适用期末考试)

在下列门电路中&#xff0c;OC门能实现“线与”逻辑功能&#xff1b; 三态门能用于总线结构的数 据传输&#xff1b;传输门 能实现模拟信号的双向传输。 并联比较型A/D转换器的转换速度最快&#xff0c; 双积分型A/D转换器的稳定性和抗干扰能力最好 TTL与非门多余的输入端应该…...

node核心学习

目录 1-1node概述 1-2全局对象 1-3Node的模块化细节 1-4Node中的ES模块化 1-5基本内置模块 OS模块&#xff1a; path模块&#xff1a; url模块&#xff1a; util模块&#xff1a; 1-6文件IO I/O&#xff1a;input output fs模块的方法 代码示例&#xff1a; 练习…...

基于 PyQt 的YOLO目标检测可视化界面+ nuitka 打包

在人工智能和计算机视觉领域&#xff0c;YOLO&#xff08;You Only Look Once&#xff09;是一种广泛使用的实时目标检测算法。为了直观地展示YOLO算法的检测效果&#xff0c;我们使用Pyqt框架进行检测结果的可视化&#xff0c;同时为了使其能够脱离Python环境&#xff0c;我们…...

234树和红黑树

首先&#xff0c;把目光聚集在234树中 以下是234的三种节点&#xff08;可以有更多这里使用以下的三个&#xff09;&#xff1a; 右侧是节点转换成红黑树节点的样子。 接下来会用以下序列进行1234树的搭建和红黑树的搭建&#xff1a; 首先是234树 2-3-4树&#xff08;234树&…...

GenCLS++:通过联合优化SFT和RL,提升生成式大模型的分类效果

摘要&#xff1a;作为机器学习中的一个基础任务&#xff0c;文本分类在许多领域都发挥着至关重要的作用。随着大型语言模型&#xff08;LLMs&#xff09;的快速扩展&#xff0c;特别是通过强化学习&#xff08;RL&#xff09;的推动&#xff0c;对于更强大的分类器的需求也在不…...

maven坐标导入jar包时剔除不需要的内容

maven坐标导入jar包时剔除不需要的内容 问题描述解决方案 问题描述 maven坐标导入jar包时剔除不需要的内容 解决方案 Spring Boot 默认使用 Logback&#xff0c;需在 pom.xml 中排除其依赖&#xff1a; <dependency><groupId>org.springframework.boot</gro…...

Oracle OCP认证考试考点详解083系列06

题记&#xff1a; 本系列主要讲解Oracle OCP认证考试考点&#xff08;题目&#xff09;&#xff0c;适用于19C/21C,跟着学OCP考试必过。 26. 第26题&#xff1a; 题目 解析及答案&#xff1a; 关于块介质恢复&#xff0c;以下哪三项是正确的&#xff1f; A) 需恢复一个或多个…...

llfc项目分布式服务笔记

一、系统整体架构流程图(简明版) 复制代码 +---------------+ +------------------+ +----------------+ | 客户端 (Client) |--------->| GateServer |----------| StatusServer |<--+ +---------------+ +--------------…...

“链式前向星”等三种存图方式分别输出“无向无权图”的“DFS序列”

【DFS序列】 DFS序列&#xff08;深度优先搜索序列&#xff09;&#xff0c;是树或图结构在深度优先遍历过程中生成的节点访问顺序记录。 下面三段代码&#xff0c;分别采用链式前向星、邻接表、邻接矩阵存图&#xff0c;输出图的“DFS序列”。 【DFS&#xff1a;链式前向星】…...

Lesson 16 A polite request

Lesson 16 A polite request 词汇 park n. 公园&#xff0c;停车场&#xff0c;庄园 v. 停车&#xff0c;泊车 例句&#xff1a;让我来停车。    Let me park. 相关&#xff1a;spot n. 车位 区别&#xff1a;garden n. 花园 [小&#xff0c;私家的] 例句&#xff1a;我们…...

【IP101】边缘检测技术全解析:从Sobel到Canny的进阶之路

&#x1f31f; 边缘检测的艺术 &#x1f3a8; 在图像处理的世界里&#xff0c;边缘检测就像是给图像画眉毛 —— 没有它&#xff0c;你的图像就像一只没有轮廓的熊猫&#x1f43c;。让我们一起来探索这个神奇的"美妆"技术&#xff01; &#x1f4da; 目录 基础概念 …...

Nx 智能分发机制(Nx Agents + Nx Cloud)

Nx 智能分发机制&#xff08;Nx Agents  Nx Cloud&#xff09; 阶段关键做的事作用1. 收集信息- Project Graph&#xff1a;解析整个 workspace 依赖关系&#xff08;谁依赖谁&#xff09;- 历史统计&#xff1a;每次 CI 结束后将每个任务的实际用时与缓存命中情况上传…...