【MATLAB基础绘图第16棒】绘制热图(Heatmap)
热图(Heatmap)
热图的主要作用是直观展示重点研究对象的差异情况,多用于经济学与工学差异性分析之中。
heatmap函数创建热图
语法
h=heatmap(tbl,xvar,yvar)
h=heatmap(tbl,xvar,yvar,'ColorVariable',cvar)
h=heatmap(cdata)
h=heatmap(xvalues,yvalues,cdata)
h=heatmap(___,Name,Value)
h=heatmap(parent,___)
说明
h = heatmap(tbl,xvar,yvar) 基于表 tbl 创建一个热图,并返回 HeatmapChart 对象。xvar 输入参数指示沿 x 轴显示的表变量。yvar 输入参数指示沿 y 轴显示的表变量。默认颜色基于计数聚合,这种方法计算每对 x 和 y 值一起出现在表中的总次数。可使用 h 在创建热图之后对其进行修改。
h=heatmap(tbl,xvar,yvar,'ColorVariable',cvar) 使用 cvar 指定的表变量来计算颜色数据。默认的计算方法为均值聚合。
h=heatmap(cdata) 基于矩阵 cdata 创建一个热图。热图上的每个单元格对应 cdata 中的一个值。
h=heatmap(xvalues,yvalues,cdata) 指定沿 x 轴和 y 轴显示的值的标签。
h=heatmap(___,Name,Value) 使用一个或多个名称-值对组参数指定热图的其他选项。请在所有其他输入参数之后指定这些选项。
h = heatmap(parent,___) 在由 parent 指定的图窗、面板或选项卡上创建热图。
案例
案例1:基本绘制
此案例利用Matlab自带的‘heatmap’命令绘制热图。虽然好看,但有一个问题:其标题、坐标轴标题、字体字号等属性无法分开单独设置。
成图如下:

MATLAB代码如下:
clc
close all
clear
%% 基础设置
pathFigure= '.\Figures\' ;figureUnits = 'centimeters';
figureWidth = 30;
figureHeight = 20;%% 绘制热图
figure(1)
set(gcf, 'Units', figureUnits, 'Position', [0 0 figureWidth figureHeight]);
% 绘制热图:河东地区各站点干旱年内分布图
XName = ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"];
YName = ["景泰", "皋兰","靖远","榆中","临夏","临洮","华家岭","环县","平凉","西峰镇","玛曲","合作","岷县","武都","天水北道区"];
h = heatmap( XName , YName , SPI1Station ,'FontSize',10);
h.GridVisible = 'off';
% 设置坐标区名字与图的大标题
% h.Title = 'Tiltle';
h.XLabel = '月份';
h.YLabel = '站点';
% 对热图上色—colormap函数
hc = colormap(gca, flipud(hot) );
set(gca,'FontSize',16); % ,'Fontname', 'Times New Roman'str= strcat(pathFigure, "Fig.2", '.tiff');
print(gcf, '-dtiff', '-r600', str);
案例2:修改热图的属性
热图的图形包括了x轴名称、y轴名称、x和y的数据、颜色、数据标注、图例等属性,可以通过修改热图函数的返回值的句柄设置其属性。
成图如下:(中文字体为宋体;西文字体为Times New Roman)

MATLAB代码如下:
clc
close all
clear
%% 基础设置
pathFigure= '.\Figures\' ;figureUnits = 'centimeters';
figureWidth = 30;
figureHeight = 20;figure(2)
set(gcf, 'Units', figureUnits, 'Position', [0 0 figureWidth figureHeight]);
% 绘制热图:河东地区各站点干旱年内分布图
XName = ["1\fontname{宋体}月","2\fontname{宋体}月","3\fontname{宋体}月","4\fontname{宋体}月","5\fontname{宋体}月","6\fontname{宋体}月",..."7\fontname{宋体}月","8\fontname{宋体}月","9\fontname{宋体}月","10\fontname{宋体}月","11\fontname{宋体}月","12\fontname{宋体}月"];
YName = ["\fontname{宋体}景泰", "\fontname{宋体}皋兰","\fontname{宋体}靖远","\fontname{宋体}榆中","\fontname{宋体}临夏","\fontname{宋体}临洮",..."\fontname{宋体}华家岭","\fontname{宋体}环县","\fontname{宋体}平凉","\fontname{宋体}西峰镇","\fontname{宋体}玛曲","\fontname{宋体}合作","\fontname{宋体}岷县","\fontname{宋体}武都","\fontname{宋体}天水北道区"];
h = heatmap( XName , YName , SPI1Station ,'FontSize',10);
h.GridVisible = 'off';
h.FontName='Times New Roman'; % 设置显示的字体
h.FontSize = 14; % 设置显示的字体大小
% 设置坐标区名字与图的大标题
% h.Title = 'Tiltle';
h.XLabel = '\fontname{宋体}月份';
h.YLabel = '\fontname{宋体}站点';
% 对热图上色—colormap函数
hc = colormap(gca, flipud(hot) );
set(gca,'FontSize',16); % ,'Fontname', 'Times New Roman'str= strcat(pathFigure, "Fig.2", '.tiff');
print(gcf, '-dtiff', '-r600', str);
参考
相关文章:
【MATLAB基础绘图第16棒】绘制热图(Heatmap)
热图(Heatmap) 热图的主要作用是直观展示重点研究对象的差异情况,多用于经济学与工学差异性分析之中。 heatmap函数创建热图 语法 hheatmap(tbl,xvar,yvar) hheatmap(tbl,xvar,yvar,ColorVariable,cvar) hheatmap(cdata) hheatmap(xvalue…...
数据库--SQL关键字的执行顺序
数据库相关链接: 数据库--数据类型:http://t.csdn.cn/RtqMD 数据库--三大范式、多表查询、函数sql:http://t.csdn.cn/udJSG 数据库--MySQL增删改查:http://t.csdn.cn/xkiti 一、一条sql语句通常包括: select fro…...
如何优雅地处理Java多线程编程中的共享资源问题,以确保线程安全和高性能?
文章目录 🎉欢迎来到Java面试技巧专栏~如何优雅地处理Java多线程编程中的共享资源问题? ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页:IT陈寒的博客🎈该系列文章专栏:Java面试技巧文章作者技术和水平有限&…...
每天一道leetcode:剑指 Offer 64. 求1+2+…+n(中等递归)
今日份题目: 求 12...n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 示例1 输入: n 3 输出: 6 示例2 输入: n 9 输出: 45 提示 1 < n < 10000 题目思路 使用递归…...
服务器安装centos7踩坑
1、制作启动工具 下载iso https://developer.aliyun.com/mirror/?spma2c6h.25603864.0.0.20387abbo2RFbn http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/?spma2c6h.25603864.0.0.1995f5ad4AhJaW下载 UltraISO https://cn.ultraiso.net/插入u盘启动 到了如图所示页面…...
Java | IDEA中 jconsole 不是内部或外部命令,也不是可运行的程序
解决办法: 1.先将Terminal的Shell path 修改为C:\WINDOWS\system32\cmd.exe 2.在检查环境变量中的ComSpec的值 3.找到自己电脑下载的jdk的bin的地址 4.将jdk的bin地址加入到系统变量path中...
将Swift Package构建为通用二进制文件 Universal Binary
将Swift软件包构建为通用二进制文件 因此,在苹果在WWDC 2020期间宣布他们将把Mac从英特尔处理器过渡到苹果硅之后,现在是时候让每个人都准备好他们的软件了。 对大多数人来说,这次过渡可能更容易一些,特别是那些已经在iOS上支持a…...
正则表达式:贪婪与非贪婪模式
正则中的三种模式,贪婪匹配、非贪婪匹配和独占模式。 在这 6 种元字符中,我们可以用 {m,n} 来表示 (*)()(?) 这 3 种元字符: 贪婪模式,简单说就是尽可能进行…...
UVa247 Calling Circles(Floyd warshall算法)
题意 给定两个人相互打电话,如果a打给b,b打给c,c打给a,则说a,b,c在同一电话圈中。给出n个人的m次通话,输出所有的电话圈 思路 用graph[u][v]1表示u和v之间有打电话。在使用floyd算法计算所有的点对之间的值。graph[u][v]1表示u,v之间有直接…...
Java项目之基于ssm框架的社区生活超市管理系统(附源码)
基于ssm框架的社区生活超市管理系统设计与实现(程序源码毕业论文) 大家好,今天给大家介绍基于ssm框架的社区生活超市管理系统设计与实现,本论文只截取部分文章重点,文章末尾附有本毕业设计完整源码及论文的获取方式。更…...
Android 实现录音功能
思路: 通过媒体录制器MediaRecorder实现:MediaRecorder是Android自带的音频和视频录制工具,它通过操纵摄像头和麦克风完成媒体录制,既可录制视频,又可单独录制音频。 MediaRecorder常用方法(录音与录像通用)…...
drawio导出矢量图
1.选中要导出的图 2.导出为pdf 3.用adobe打开pdf,另存为eps...
关于angular router-outlet
关于angular router-outlet Angular是一个现代化的前端框架,它提供了很多强大的工具来帮助我们开发出高效的Web应用。其中一个最常用的功能是路由(routing)系统,它允许我们在不同的URL之间导航并加载不同的组件。而<router-ou…...
设计模式详解-桥接模式
类型:结构型模式 实现原理:将抽象类和实现类分离,使其独立,然后使用接口再将二者连接起来。 意图:将抽象部分与实现部分分离,使它们都可以独立的变化。 主要解决:类变化频繁时用继承可能会出…...
设计模式—— 单一职责原则
文章目录 设计模式的目的设计模式原则单一职责原则基本介绍应用实例单一职责原则注意事项和细节 设计模式的目的 1,代码重用性(即:相同功能的代码,不用多次编写) 2,可读性(即:编程…...
嵌入式系统中如何选择RTC电池?
RTC(Real Time Clock)是一种用于提供系统时间的独立定时器,它可以在系统断电或低功耗模式下继续运行,只需要一个后备电池作为供电源。在嵌入式系统中,选择合适的RTC电池时非常关键的,它会影响系统时间的准确…...
56 | 国内游戏直播竞品分析
国内游戏直播竞品分析 一、需求分析 当前直播用户群可分为两大类: 主播观众用户需求: 1.主播: 作为直播内容的创造者,主播表现方式和内容很大程度上决定了观众的需求, 其中主播主要只有三点需求: (一) 通过某一手段(如游戏技术、唱歌技巧)获取他人关注,满足虚荣心…...
STM32 CubeMX (第一步Freertos任务管理:创建、删除、挂起、恢复)
STM32 CubeMX Freertos STM32 CubeMX (Freertos任务:创建、删除、挂起、恢复) STM32 CubeMX Freertos前言一、STM32 CubeMX 配置时钟树配置HAL时基选择TIM1(不要选择滴答定时器;滴答定时器留给OS系统做时基)…...
0101读写分离测试-jdbc-shardingsphere-中间件
文章目录 1 前言2、创建SpringBoot程序2.1、创建项目2.2、添加依赖2.3、生成实体类、service与Mapper1.5、配置读写分离 2、测试2.1、读写分离测试2.2、事务测试2.3、负载均衡测试 结语 1 前言 shardingshpere-jdbc定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的…...
sqlite3将词典导入数据库
使用sqlite3代码实现将词典导入数据库中 #include <head.h> #include <sqlite3.h> #include <strings.h> #include <unistd.h> int main(int argc, const char *argv[]) {sqlite3 *db NULL;if(sqlite3_open("./dict.db",&db) ! SQLITE…...
京东自动评价工具:Python智能购物助手终极指南
京东自动评价工具:Python智能购物助手终极指南 【免费下载链接】jd_AutoComment 自动评价,仅供交流学习之用 项目地址: https://gitcode.com/gh_mirrors/jd/jd_AutoComment 想要轻松完成京东购物后的评价任务吗?jd_AutoComment 是一款基于Python开…...
轻量级AI工具库aiclublight:从零解析微型深度学习框架的设计与实现
1. 项目概述:一个轻量级AI工具库的诞生最近在GitHub上闲逛,发现了一个挺有意思的项目,叫aiclublight,作者是Dimks777。光看名字,大概就能猜到,这应该是一个和人工智能俱乐部或者AI相关的、主打轻量化的工具…...
LaTeX中文排版难题:如何快速解决字体缺失问题?
LaTeX中文排版难题:如何快速解决字体缺失问题? 【免费下载链接】latex-chinese-fonts Simplified Chinese fonts for the LaTeX typesetting. 项目地址: https://gitcode.com/gh_mirrors/la/latex-chinese-fonts 你是否曾经在深夜赶论文时&#x…...
怎样快速恢复损坏视频:3步实用MP4修复方案
怎样快速恢复损坏视频:3步实用MP4修复方案 【免费下载链接】untrunc Restore a truncated mp4/mov. Improved version of ponchio/untrunc 项目地址: https://gitcode.com/gh_mirrors/un/untrunc 你是否经历过相机突然断电导致视频文件损坏?或者传…...
明日方舟MAA助手:如何用5分钟自动化你的每日游戏任务
明日方舟MAA助手:如何用5分钟自动化你的每日游戏任务 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: https://gitc…...
Python实战:从时序数据到ARIMA预测的完整建模指南
1. 时间序列分析与ARIMA模型入门 时间序列分析就像是一位经验丰富的老中医把脉——通过观察数据随时间变化的"脉搏",我们能诊断出背后的规律并预测未来走势。ARIMA模型正是其中最经典的"听诊器"之一,我在处理销售预测、库存管理等项…...
SystemVerilog中logic数据类型:统一reg与wire的设计实践
1. 项目概述:从“reg”到“logic”的思维跃迁如果你写过Verilog,那么对reg和wire这两个数据类型一定再熟悉不过了。在RTL设计的世界里,我们习惯了用reg来描述寄存器,用wire来描述连线,这几乎成了一种肌肉记忆。但当你开…...
Beyond Compare 5密钥生成终极指南:快速激活与完全使用教程
Beyond Compare 5密钥生成终极指南:快速激活与完全使用教程 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen Beyond Compare是一款广受欢迎的文件对比工具,但当30天试用期…...
SpringBoot配置加载顺序实战:从踩坑到精通,搞懂spring.profiles.active和spring.config.location
SpringBoot配置加载顺序实战:从踩坑到精通 在SpringBoot项目的开发与部署过程中,配置加载顺序往往是开发者最容易踩坑的环节之一。你是否遇到过本地测试正常,但打包部署后配置突然失效的情况?或者在不同环境间切换时,某…...
抖音无水印视频下载神器:3分钟快速上手,轻松保存高清无水印视频
抖音无水印视频下载神器:3分钟快速上手,轻松保存高清无水印视频 【免费下载链接】douyin_downloader 抖音短视频无水印下载 win编译版本下载:https://www.lanzous.com/i9za5od 项目地址: https://gitcode.com/gh_mirrors/dou/douyin_downlo…...
