【SCI绘图】【热力图系列1 R】多特征相关性分析热力图R语言实现

SCI,CCF,EI及核心期刊绘图宝典,爆款持续更新,助力科研!

本期分享: 

【SCI绘图】【热力图系列1 R】多特征相关性分析热力图R语言实现

1.环境准备

library(gplots)
library(RColorBrewer)

2.数据示例

#########################################################
### reading in data and transform it to matrix format
#########################################################data <- read.csv("dataset.csv", comment.char="#")
rnames <- data[,1]                            # assign labels in column 1 to "rnames"
mat_data <- data.matrix(data[,2:ncol(data)])  # transform column 2-5 into a matrix
rownames(mat_data) <- rnames                  # assign row names

3.绘图展示

#########################################################
### customizing and plotting heatmap
########################################################## creates a own color palette from red to green
my_palette <- colorRampPalette(c("red", "yellow", "green"))(n = 299)# (optional) defines the color breaks manually for a "skewed" color transition
col_breaks = c(seq(-1,0,length=100),   # for redseq(0.01,0.7,length=100),            # for yellowseq(0.71,1,length=100))              # for green# creates a 5 x 5 inch image
png("h1_simple.png",width = 5*300,        # 5 x 300 pixelsheight = 5*300,res = 300,            # 300 pixels per inchpointsize = 8)        # smaller font sizeheatmap.2(mat_data,cellnote = mat_data,  # same data set for cell labelsmain = "Correlation", # heat map titlenotecol="black",      # change font color of cell labels to blackdensity.info="none",  # turns off density plot inside color legendtrace="none",         # turns off trace lines inside the heat mapmargins =c(12,9),     # widens margins around plotcol=my_palette,       # use on color palette defined earlierbreaks=col_breaks,    # enable color transition at specified limitsdendrogram="row",     # only draw a row dendrogramColv="NA")            # turn off column clustering##############################################################################
# NOTE
##############################################################################
# The color breaks above will yield a warning
#    "...unsorted 'breaks' will be sorted before use" since they contain
#    (due to the negative numbers). To avoid this warning, you can change the
#    manual breaks to:
#
#  col_breaks = c(seq(0,1,length=100),   # for red
#    seq(1.01,1.7,length=100),           # for yellow
#    seq(1.71,2,length=100))             # for green
#
# However, the problem is then that our heatmap contains negative values
# which will then not be colored correctly. Remember that you don't need to
# provide manual color breaks at all, this is entirely optional.
##############################################################################dev.off()

完整代码:

library(gplots)
library(RColorBrewer)#########################################################
### reading in data and transform it to matrix format
#########################################################data <- read.csv("dataset.csv", comment.char="#")
rnames <- data[,1]                            # assign labels in column 1 to "rnames"
mat_data <- data.matrix(data[,2:ncol(data)])  # transform column 2-5 into a matrix
rownames(mat_data) <- rnames                  # assign row names#########################################################
### customizing and plotting heatmap
########################################################## creates a own color palette from red to green
my_palette <- colorRampPalette(c("red", "yellow", "green"))(n = 299)# (optional) defines the color breaks manually for a "skewed" color transition
col_breaks = c(seq(-1,0,length=100),   # for redseq(0.01,0.7,length=100),            # for yellowseq(0.71,1,length=100))              # for green# creates a 5 x 5 inch image
png("h1_simple.png",width = 5*300,        # 5 x 300 pixelsheight = 5*300,res = 300,            # 300 pixels per inchpointsize = 8)        # smaller font sizeheatmap.2(mat_data,cellnote = mat_data,  # same data set for cell labelsmain = "Correlation", # heat map titlenotecol="black",      # change font color of cell labels to blackdensity.info="none",  # turns off density plot inside color legendtrace="none",         # turns off trace lines inside the heat mapmargins =c(12,9),     # widens margins around plotcol=my_palette,       # use on color palette defined earlierbreaks=col_breaks,    # enable color transition at specified limitsdendrogram="row",     # only draw a row dendrogramColv="NA")            # turn off column clustering##############################################################################
# NOTE
##############################################################################
# The color breaks above will yield a warning
#    "...unsorted 'breaks' will be sorted before use" since they contain
#    (due to the negative numbers). To avoid this warning, you can change the
#    manual breaks to:
#
#  col_breaks = c(seq(0,1,length=100),   # for red
#    seq(1.01,1.7,length=100),           # for yellow
#    seq(1.71,2,length=100))             # for green
#
# However, the problem is then that our heatmap contains negative values
# which will then not be colored correctly. Remember that you don't need to
# provide manual color breaks at all, this is entirely optional.
##############################################################################dev.off()

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE5学习日记——制作多语言版本游戏,同时初步学习UI制作、多语言化、控制器配置、独立进程测试、打包配置和快速批量翻译等

所有的文本类&#xff0c;无论变量还是控件等都能实现本地化&#xff0c;以此实现不同语言版本。 在这里先将重点注意标注一下&#xff1a; 所有文本类的变量、控件等都可以多语言&#xff1b;本地化控制板中收集、编译时&#xff0c;别忘了编译这一步&#xff1b;支持批量复制…

第十五届蓝桥杯c++b组赛后复盘和真题展示

题目变成八道了&#xff0c;分数一百分可能&#xff0c;感觉拿奖难度还是很高 第一题是一个简单的握手问题 答案算出来1204&#xff0c;纯手写 第二题是 物理题 纯蒙&#xff0c;随便猜了个轨迹&#xff0c;答案具体忘了&#xff0c;最后是 .45 第三题暴力 第四题 我是傻逼…

Zookeeper中的节点类型和实现持久化的两种方式

进入zookeeper的bin目录&#xff0c;执行./zkServer.sh start ../conf/zoo.cfg启动&#xff01; Zookeeper内部的数据模型 类似于数据结构中的树&#xff0c;同时也很像文件系统的目录&#xff0c; 节点的类型 持久节点&#xff1a;create /znode 创建出的节点&#xff0c…

永磁同步电机无感FOC(扩展卡尔曼滤波EKF位置观测控制)

文章目录 1、前言2、扩展卡尔曼滤波器原理2.1 预测阶段&#xff08;时间更新阶段&#xff09;2.2 校正阶段&#xff08;状态更新阶段&#xff09; 3、永磁同步电机EKF的模型4、永磁同步电机EKF的无位置状态观测仿真4.1 核心模块&#xff08;在滑膜、龙伯格、磁链等观测器基础上…

从零自制docker-8-【构建实现run命令的容器】

文章目录 log "github.com/sirupsen/logrus"args...go moduleimport第三方包失败package和 go import的导入go build . 和go runcli库log.SetFormatter(&log.JSONFormatter{})error和nil的关系cmd.Wait()和cmd.Start()arg……context.Args().Get(0)syscall.Exec和…

GRE/MGRE详解

GRE GRE&#xff1a;通用路由封装&#xff0c;是标准的三层隧道技术&#xff0c;是一种点对点的隧道技术&#xff1b; 该技术可以实现不同的网络之间安全的访问&#xff1b; 如上&#xff1a;可以使用该技术搭建一条专线&#xff0c;实现公司A与分公司A1之间相互通信&#xf…

(处理流)转换流与对象流

1.字符编码与解码. (1). 字符编码 : 将字符&#xff0c;字符串&#xff0c;字符数组------&#xff1e; 字节&#xff0c;字节数组. (2). 字节&#xff0c;字节数组------&#xff1e;字符&#xff0c;字符串&#xff0c;字符数组. 如果希望程序在读取文件时(也就是解码)不…

Linux多进程开发2 - 进程间通信

1、进程间通信的概念 进程是一个独立的资源分配单元&#xff0c;不同进程之间的资源是独立的&#xff0c;没有关联&#xff0c;不能在一个进程中直接访问另一个进程的资源。但是&#xff0c;进程不是孤立的&#xff0c;不同的进程需要进行信息的交换和状态的传递等&…

【算法基础】插入排序与二分查找、升级二分查找

文章目录 1. 插入排序1.1 插入排序的思想1.2 插入排序的实现 2. 普通二分查找2.1 普通二分查找的思想2.2 普通二分查找的实现 3. 升级二分查找3.1 升级二分查找思想3.2 升级二分查找实现 1. 插入排序 1.1 插入排序的思想 插入排序很类似于已有一副有序的扑克牌&#xff0c;不断…

儿童对讲机玩具AW30N方案

一、儿童对讲机简介 儿童对讲机一种专为孩子们设计的通讯设备&#xff0c;可以让父母与孩子之间进行双向通讯&#xff0c;增强亲子关系&#xff0c;增强孩子的可玩性。儿童对讲机近几年发展的比较快&#xff0c;相比之前的方案&#xff0c;在设计、生产、成本都优化了很多&…

Win10 使用Telnet

命令行 telnet 127.0.0.1 80 调试是否能连接服务 输入exit 回车即可退出 相比于ping的不同

Java编译期注解处理器AbstractProcessor使用

我们接触的注解主要分为以下两类 运行时注解&#xff1a;通过反射在运行时动态处理注解的逻辑编译时注解&#xff1a;通过注解处理器在编译期动态处理相关逻辑 编译期注解我们常用的有Lombok&#xff0c;在class文件中自动生成get和set方法 解编译期处理流程最关键的一个类就…

【TCP套接字编程,UDP套接字编程】

文章目录 TCP套接字编程Socket编程Socket 编程TCP套接字编程TCPsocket编程C/S socket 交互: TCP数据结构 sockaddr_in数据结构 hostent UDP套接字编程UDP Socket编程Client/server socket 交互: UDP TCP套接字编程 Socket编程 应用进程使用传输层提供的服务才能交换报文。实现…

【嵌入式】交叉编译指南:将开源软件带到嵌入式世界

&#x1f9d1; 作者简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向的学习指导…

PostgreSQL入门到实战-第二十八弹

PostgreSQL入门到实战 PostgreSQL中数据分组操作(三)官网地址PostgreSQL概述PostgreSQL中GROUPING SETS命令理论PostgreSQL中GROUPING SETS命令实战更新计划 PostgreSQL中数据分组操作(三) 使用PostgreSQL grouping sets子句在查询中生成多个分组集。 官网地址 声明: 由于操…

建筑覆膜板是干什么用的?

在现代建筑施工中,覆膜板是一种非常重要的工程材料。它俗称"模板",主要用于浇筑混凝土和钢筋结构的支撑和固定。覆膜板的质量直接关系到建筑物的施工效率和质量,因此选择一家专业、靠谱的生产厂家至关重要。 贵港市能强优品木业有限公司就是一家广西知名的建筑覆膜板…

[SystemVerilog]常见设计模式/实践

常见设计模式/实践 RTL 设计&#xff08;尤其是 ASIC&#xff09;的最终目标是制作出最小、最快的电路。为此&#xff0c;我们需要了解综合工具如何分析和优化设计。此外&#xff0c;我们还关注仿真速度&#xff0c;因为等待测试运行实际上是在浪费工程精力。虽然综合和仿真工…

【Linux】封装一下简单库 理解文件系统

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、封装一下简单库 二、理解一下stdin(0)、stdout(1)、stderr(3) 2.1、为什么要有0、1、2呢&#xff1f; 2.2、特点 2.3、如果我想让2也和1重定向到一个文件…

如何在Linux系统部署Joplin笔记并结合内网穿透实现无公网IP远程访问

文章目录 1. 安装Docker2. 自建Joplin服务器3. 搭建Joplin Sever4. 安装cpolar内网穿透5. 创建远程连接的固定公网地址 Joplin 是一个开源的笔记工具&#xff0c;拥有 Windows/macOS/Linux/iOS/Android/Terminal 版本的客户端。多端同步功能是笔记工具最重要的功能&#xff0c;…

华为数通方向HCIP-DataCom H12-821题库(多选题:321-340)

第321题 关于OSPF的命令描述,不正确的是: A、stub区域和totally stub区域配置了no-summary参数 B、OSPFv2和OSPF v3配置接口命令的区别是OSPF V2可以使用network命令,而OSPFv3直接 C、在接口上使能stubrouter命令用来配置次路由器为stub路由器,stub路由器可以与非stub路由 …