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

matlab 热图,基于表格数据创建热图

以表的形式导入文件

加载示例文件 TemperatureData.csv,此文件包含 2015 年 1 月至 2016 年 7 月间的日均温度。将此文件读取到一个表中并显示前五行。

tbl = readtable('TemperatureData.csv');

head(tbl,5)

ans=5×4 table

Year Month Day TemperatureF

____ ___________ ___ ____________

2015 {'January'} 1 23

2015 {'January'} 2 31

2015 {'January'} 3 25

2015 {'January'} 4 39

2015 {'January'} 5 29

创建基本热图

创建一个热图,其中 x 轴表示月份,y 轴表示年份。通过设置 ColorVariable 属性,使用温度数据为热图单元格着色。将 HeatmapChart 对象赋给变量 h。在创建图后,可使用 h 对其进行修改。

h = heatmap(tbl,'Month','Year','ColorVariable','TemperatureF');

f9785ebe2a124bd90f18462f31ddde15.png

默认情况下,MATLAB 会将颜色数据作为每月的平均温度进行计算。但是,可通过设置 ColorMethod 属性来更改计算方法。

对轴值重新排序

轴值按字母顺序显示。对月份重新排序,以使其按年月顺序显示。可以使用分类数组或通过设置 HeatmapChart 属性来自定义标签。

要使用分类数组,首先将该表的 Month 列中的数据从元胞数组更改为分类数组。然后使用 reordercats 函数对类别重新排序。可以将这些函数应用于工作区中的表 (tbl) 或 HeatmapChart 对象的 SourceTable 属性中存储的表 (h.SourceTable)。将这些函数应用于 HeatmapChart 对象中存储的表可避免影响原始数据。

h.SourceTable.Month = categorical(h.SourceTable.Month);

neworder = {'January','February','March','April','May','June','July',...

'August','September','October','November','December'};

h.SourceTable.Month = reordercats(h.SourceTable.Month,neworder);

a1df2f2d792e882c15dde71712011acc.png

对于分类数组,同样可以使用 addcats、removecats 或 renamecats 函数添加、删除或重命名热图标签。

也可以使用 HeatmapChart 对象的 XDisplayData 和 YDisplayData 属性对轴值重新排序。

h.XDisplayData = {'January','February','March','April','May','June','July',...

'August','September','October','November','December'};

90495fb11c5ea5653f31f914efe7124a.png

修改标题和轴标签

使用表格数据创建热图时,会自动生成热图的标题和轴标签。通过设置 HeatmapChart 对象的 Title、XLabel 和 YLabel 属性,自定义标题和轴标签。例如更改标题和删除 x 轴标签。另外还可以更改字体大小。

h.Title = 'Average Temperatures';

h.XLabel = '';

h.FontSize = 12;

cb837a9ddf2adec0b100374b60622f65.png

修改缺失数据元胞的外观

由于缺少 2016 年 8 月至 2016 年 12 月的数据,因此这些元胞显示为缺失数据。使用 MissingDataColor 和 MissingDataLabel 属性修改缺失数据元胞的外观。

h.MissingDataColor = [0.8 0.8 0.8];

h.MissingDataLabel = 'No Data';

53c32ed1b112852e6171624f03f673a2.png

删除颜色栏

通过设置 ColorbarVisible 属性删除颜色栏。

h.ColorbarVisible = 'off';

7d451362724f2ba249ead5809b2a9784.png

设置元胞文本格式

通过设置 CellLabelFormat 属性自定义每个元胞中显示的文本的格式。例如,显示不带小数点的值文本。

h.CellLabelFormat = '%.0f';

04e3a6ea55b010d52bf53200c8925f0e.png

添加或删除轴值

通过设置 XDisplayData 属性,仅显示每个季度的第一个月。通过设置 YDisplayData 属性,沿 y 轴添加年份 2017。将这些属性分别设置为 XData 或 YData 中的值的子集、超集或置换。

h.XDisplayData = {'January','April','July','October'};

h.YDisplayData = {'2015','2016','2017'};

95e1aa6d5edd08ba345c170a94cf0b30.png

由于没有与 2017 年关联的数据,因此热图单元格使用缺失数据颜色。

相关文章:

  • getlocation.php,关于微信小程序 location API接口的解析
  • php 调用未定义方法,关于php:Laravel调用未定义的方法create()和save()
  • eclipse java 源代码,ECLIPSE 调试java 源码
  • excel按条件查询mysql,excel多个表格满足条件的数据库-excel表格满足多条件的数据汇总(vlookup?)...
  • php多张图片制作成视频教程,PS如何将一张图片做成多张图片叠加效果
  • matlab查看hdf5数据,Matlab 操作 HDF5文件
  • 蓝桥杯java c组真题解析,蓝桥杯C语言C组校内赛题目解析
  • empty reply from server php,php curl连接返回:Empty reply from server
  • oracle掉电后ora 00600,oracle断电重启之ORA-00600[4194]
  • oracle+怎么清理碎片,oracle 收缩表、清理碎片,释放空间
  • oracle数据库程序题,oracle数据库经典练习题及答案
  • oracle的architecture,oracle architecture overview
  • oracle asm asm_power_limit,oracle ASM参数ASM_POWER_LIMIT以及其它一些参数详解
  • php使用keras模型,浅谈keras 模型用于预测时的注意事项
  • linux多进程实例代码,linux c多线程编程实例代码
  • 【React系列】如何构建React应用程序
  • Apache Spark Streaming 使用实例
  • HTTP中的ETag在移动客户端的应用
  • JavaScript设计模式之工厂模式
  • maya建模与骨骼动画快速实现人工鱼
  • Mysql数据库的条件查询语句
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • SwizzleMethod 黑魔法
  • 编写符合Python风格的对象
  • 测试如何在敏捷团队中工作?
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 关于Java中分层中遇到的一些问题
  • 好的网址,关于.net 4.0 ,vs 2010
  • 突破自己的技术思维
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 一道闭包题引发的思考
  • 因为阿里,他们成了“杭漂”
  • 硬币翻转问题,区间操作
  • 自动记录MySQL慢查询快照脚本
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • ​Spring Boot 分片上传文件
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • #define 用法
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (6)STL算法之转换
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (转)创业家杂志:UCWEB天使第一步
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • ..回顾17,展望18
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .NetCore 如何动态路由
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • []我的函数库