科研绘图(八)线性热图

线性热图(Linear Heat Map)是一种数据可视化技术,用于展示数值在一维线性空间上的分布情况。它通常用于展示沿着一条线(例如时间线或任何一维序列)的数据密度或强度变化。线性热图与传统的二维热图不同,后者通常展示在二维平面上的数据分布。在线性热图中,线条的颜色或强度通常表示数据的强度或密度,颜色的变化可以揭示数据的模式或趋势。例如,在时间序列分析中,线性热图可以用来显示某个指标随时间的变化情况。

优点

1. 清晰展示趋势和模式:线性热图能有效地展现数据随时间或其他一维序列变化的趋势和模式。

2. 高效的空间利用:由于其一维性质,线性热图在显示长时间序列或大量数据点时可以节省空间。

3. 直观的颜色编码:通过颜色的变化,用户可以快速理解数据强度或密度的变化。

4. 易于集成:线性热图易于嵌入到表格、图表或地图中,作为辅助的视觉元素。

缺点

1. 数据维度有限:线性热图只能有效地展示一维数据,对于多维数据的展现能力有限。

2. 颜色使用的限制:颜色选择和对比度对于数据的可读性至关重要,不当的颜色选择可能导致误解。

3. 对比困难:如果需要对比多个不同序列的数据,单一的线性热图可能不够有效。

4. 过度简化数据:在某些情况下,为了适应线性格式,可能需要过度简化数据,这可能导致信息的丢失或误解。

总的来说,线性热图是一个强大的工具,特别适合于展示随时间变化的数据趋势。然而,它们最适合一维数据,且在设计时需要特别注意颜色的选择和对比度。在选择使用线性热图时,应考虑数据的性质和观众的需求。

 

下面这段代码首先导入了matplotlib.pyplot和numpy库。然后,它创建了三组数据:两组随机数据和一组基于余弦函数的数据。接着,代码使用matplotlib的子图功能(subplots)来创建三个水平排列的线性热图,每个图代表一组数据。每个数据点的颜色映射(cmap='hot')表示了其值的大小,而所有的Y轴都被隐藏了,因为这些图是一维的。最后,代码显示了这个组合图表。 

import matplotlib.pyplot as plt
import numpy as np# 创建示例数据
np.random.seed(0)
data1 = np.random.rand(100)
data2 = np.random.rand(100) * 0.5
data3 = np.abs(np.cos(np.linspace(0, 3.14, 100)))  # 确保数据在0-1之间
times = np.linspace(0, 1, 100)# 创建图表
fig, axs = plt.subplots(3, 1, figsize=(10, 6), sharex=True)# 第一组数据
axs[0].scatter(times, [1] * 100, c=data1, cmap='hot', s=100)
axs[0].set_title('Data Set 1')
axs[0].set_yticks([])# 第二组数据
axs[1].scatter(times, [1] * 100, c=data2, cmap='hot', s=100)
axs[1].set_title('Data Set 2')
axs[1].set_yticks([])# 第三组数据
axs[2].scatter(times, [1] * 100, c=data3, cmap='hot', s=100)
axs[2].set_title('Data Set 3')
axs[2].set_yticks([])plt.xlabel('Time')
plt.tight_layout()
plt.show()

我们对线性热图的可视化效果进行了一些美化:改变了配色方案:使用了viridis配色方案,这是一个现代且视觉上吸引人的颜色映射。为每个图添加了颜色条:每个子图都有自己的水平颜色条(colorbar),这有助于用户更好地理解每个图中颜色与强度之间的关系。清晰的标题和标签:每个子图都有标题,说明了它所代表的数据集。同时,时间轴(X轴)标签和颜色条标签也增加了图表的可读性。

具体可视化结果如下所示

 

 以下是,matlab可视化以及代码的展示

 

% 初始化数据
rng(0); % 设定随机数生成器的种子
data1 = rand(1, 100);
data2 = 0.5 * rand(1, 100);
data3 = abs(cos(linspace(0, 3.14, 100)));
times = linspace(0, 1, 100);% 创建图表
figure;% 第一组数据
subplot(3, 1, 1);
scatter(times, ones(1, 100), 100, data1, 'filled');
title('Data Set 1');
yticks([]);% 第二组数据
subplot(3, 1, 2);
scatter(times, ones(1, 100), 100, data2, 'filled');
title('Data Set 2');
yticks([]);% 第三组数据
subplot(3, 1, 3);
scatter(times, ones(1, 100), 100, data3, 'filled');
title('Data Set 3');
yticks([]);% 设置共享的x轴标签
xlabel('Time');
colormap('hot'); % 设定颜色映射

 

这段MATLAB代码将执行以下操作:

1、初始化数据:使用随机数生成三组数据。

2、创建图表:使用figure和subplot函数来创建一个包含三个子图的图表。

3、绘制散点图:使用scatter函数在每个子图上绘制数据。

4、设置标题和坐标轴:为每个子图添加标题,并设置y轴的刻度为空。

5、设置颜色映射:使用colormap('hot')来设置颜色方案

以下为进一步美化可视化结果

 

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

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

相关文章

day2·算法-快乐数-有效三角形个数

今天又来更新啦,准备蓝桥杯的小伙伴可以和我一起来刷题,建议大家先看题,整理出思路,再看如何用简单的写法将思路构建出来,然后优化细节,找到解决某些例外出现的方法,从而成功解答这道题。 快乐…

adb wifi 远程调试 安卓手机 命令

使用adb wifi 模式调试需要满足以下前提条件: 手机 和 PC 需要在同一局域网下。手机需要开启开发者模式,然后打开 USB 调试模式。 具体操作步骤如下: 将安卓手机通过 USB 线连接到 PC。(连接的时候,会弹出请求&#x…

深入探索CSS动画的魅力-附带动画实例

一、网页动画发展简史 GIF动画 GIF全称为“Graphics Interchange Format”,是一种基于LZW算法的连续色调无损压缩格式。 由于其文件小、无损压缩、易于播放等优点,GIF成为了网页动画的最初选择。然而,GIF动画的色彩数量和帧数有限&#xff…

Python数据分析案例32——财经新闻爬虫和可视化分析

案例背景 很多同学的课程作业都是需要自己爬虫数据然后进行分析,这里提供一个财经新闻的爬虫案例供学习。本案例的全部数据和代码获取可以参考:财经新闻数据 数据来源 新浪财经的新闻网,说实话,他这个网站做成这样就是用来爬虫的…

k8s集群配置NodeLocal DNSCache

一、简介 当集群规模较大时,运行的服务非常多,服务之间的频繁进行大量域名解析,CoreDNS将会承受更大的压力,可能会导致如下影响: 延迟增加:有限的coredns服务在解析大量的域名时,会导致解析结果…

海外云手机助力企业拓展海外市场

在当前全球化的商业环境中,由于政策限制,许多企业面临着无法顺利将产品推广到国外的困境,使得海外市场的机遇白白流失。而随着科技的不断创新,一种解决企业海外拓展困境的工具应运而生,那就是海外云手机。本文将深入探…

【python】搭配Miniconda使用VSCode

现在的spyder总是运行出错,启动不了,尝试使用VSCode。 一、在VSCode中使用Miniconda管理的Python环境,可以按照以下步骤进行: a. 确保Miniconda环境已经安装并且正确配置。 b. 打开VSCode,安装Python扩展。 打开VS…

仅用三张图片实现任意场景三维重建:ReconFusion

论文题目: ReconFusion: 3D Reconstruction with Diffusion Priors 论文作者: Rundi Wu, Ben Mildenhall, Philipp Henzler, Keunhong Park, Ruiqi Gao, Daniel Watson, Pratul P. Srinivasan, Dor Verbin, Jonathan T. Barron, Ben Poole, Aleksande…

【huggingface】【pytorch-image-models】timm框架中使用albumentations库数据增广

文章目录 一、前言二、实操2.1 声明库2.2 定义你的数据增广算子2.3 加入其中 一、前言 问题是这样的,在使用timm框架训练时,发现数据增广不够,想用Albumentations库的数据增广,怎么把后者嵌入到前者的训练中。 其实也是比较简单…

Codeforces Round 919 (Div. 2) D题 偏移量,二分,子问题

Problem - D - Codeforces 题意: 用两种方式制作一个很大的数组,然后查询对应下标对应的数字。 难点: 制作的方式有复制n次原数组接到后面,样例的数据很大,很快就会溢出unsigned long long。暴力做出这个数组是不可…

第7章-第9节-Java中的Stream流(链式调用)

1、什么是Stream流 Lambda表达式,基于Lambda所带来的函数式编程,又引入了一个全新的Stream概念,用于解决集合类库既有的鼻端。 2、案例 假设现在有一个需求, 将list集合中姓张的元素过滤到一个新的集合中;然后将过滤…

【C++】Qt:Qt事件介绍与正弦曲线绘制示例

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍Qt事件介绍与正弦曲线绘制示例。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更…

[软件工具][windows]yolov8自动标注工具自动打标签工具

软件截图如下: 这个工具可以自动将图片识别为指定类别并保存为VOC格式xml文件, 软件只支持官方80类别,您可以选择其中一部分或者一部分进行自动标注,标注的效果依据图片而定,通过自动标注您可以减少很多标注工作量&…

制造知识普及--MES系统中的调度排产管理

要想弄清楚MES系统调度排产的管理机制,则要首先搞清楚车间调度排产是一套怎样的工作流程,它的难点在什么地方? 生产调度指的是具体组织实现生产作业计划的工作,是对执行生产作业计划过程中发生的问题和可能出现的问题&#xff0c…

Unity 工具 之 Azure 微软连续语音识别ASR的简单整理

Unity 工具 之 Azure 微软连续语音识别ASR的简单整理 目录 Unity 工具 之 Azure 微软连续语音识别ASR的简单整理 一、简单介绍 二、实现原理 三、注意实现 四、实现步骤 五、关键脚本 一、简单介绍 Unity 工具类,自己整理的一些游戏开发可能用到的模块&#x…

重磅!ESI高被引论文阈值发布

1月11日,科睿唯安(Clarivate Analytics)公布了最新的ESI数据。 注:ESI的更新时间为每奇数月的第二个星期四。 Essential Science Indicators (ESI) 是一种分析工具,可帮助识别 Web of Science 核心合集中表现最好的研…

Lamp架构从入门到精通

系列文章目录 lnmp架构 lnmp架构-nginx负载均衡以及高可用 系列文章目录一、源码编译configure(检测预编译环境是否可行)makemake install优化关闭Debug 二、 nginx负载均衡三、nginx的高并发nginx work数量的设定nginx work进程与cpu的静态绑定压力测试nginx高并发修改操作系…

Unity使用Protobuf

1.下载Protobuf ProtoBuf 2.打开它并且编译 如果有报错下载相应的.net版本即可 这里默认是6.0.100 由于我本机是8.0.100所以我改了这个文件 3.编译后的文件复制到Unity Assets/Plugins下 4.写个测试的proto文件 5.然后使用protoc生成 这里实现了一个简单的bat批量生成 Protos C…

从0开始学Git指令(3)

从0开始学Git指令 因为网上的git文章优劣难评,大部分没有实操展示,所以打算自己从头整理一份完整的git实战教程,希望对大家能够起到帮助! 远程仓库 Git是分布式版本控制系统,同一个Git仓库,可以分布到不…

MySQL体系结构

MySQL体系结构 MySQL采用的是客户/服务器体系结构,实际是有两个程序,一个是MySQL服务器程序,指的是mysqld程序,运行在存放数据库的机器上,负责在网络上监听并处理来自客户的服务请求,根据这些请求去访问数据…