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

Matlab进阶绘图第25期—三维密度散点图

三维密度散点图本质上是一种特征渲染的三维散点图,其颜色表示某一点所在区域的密度信息

除了作图,三维密度散点图绘制的关键还在于密度的计算。

当然,不管是作图还是密度的计算,这些在《Matlab论文插图绘制模板》和《Matlab点云处理及可视化》往期文章中都有介绍

为了方便起见,本期就直接分享一下三维密度散点图的绘制方法,先来看一下成品效果:

特别提示:本期内容『数据+代码』已上传资源群中,加群的朋友请自行下载。有需要的朋友可以关注同名公号【阿昆的科研日常】,后台回复关键词【绘图桶】查看加入方式


1. 数据准备

此部分主要是读取原始数据并初始化绘图参数

% 读取数据load data.mat% 初始化绘图参数data = [x,y,z];% 密度计算radius = 1; % 定义半径density_3D = density3D_KD(data(:,1:3),radius); % 3D密度

2. 颜色定义

作图不配色就好比做菜不放盐,总让人感觉少些味道。

但颜色搭配比较考验个人审美,需要多加尝试。

这里直接使用TheColor配色工具中的SCI权威配色库

%% 颜色定义map = TheColor('sci',2097);% map = flipud(map);

(点击上图查看TheColor具体功能)

获取方式:公众号(阿昆的科研日常)后台回复 TC

3. 密度散点图绘制

调用‘scatter3’命令,绘制初始三维密度散点图

scatter3(data(:,1), data(:,2), data(:,3), 5, density_3D, 'filled')hTitle = title('Density Scatter3');hXLabel = xlabel('XAxis');hYLabel = ylabel('YAxis');hZLabel = zlabel('ZAxis');

4. 细节优化

为了插图的美观,将初始三维密度散点图赋上之前选择的颜色

% 赋色colormap(map)colorbar

进一步,对坐标轴细节等进行美化:

% 坐标轴美化view(45,27)% 俯视% view(0,90)% set(gca,'xlim',[-8.5 8.5],...%         'ylim',[-8.5 8.5])set(gca, 'Box', 'on', ...                                                     % 边框         'XGrid', 'on', 'YGrid', 'on', 'ZGrid', 'on',...                      % 网格         'TickDir', 'out', 'TickLength', [.005 .005], ...                     % 刻度         'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1],  'ZColor', [.1 .1 .1])  % 坐标轴颜色% 字体和字号set(gca, 'FontName', 'Arial', 'FontSize', 10)set([hXLabel, hYLabel, hZLabel], 'FontSize', 11, 'FontName', 'Arial')set(hTitle, 'FontSize', 12, 'FontWeight' , 'bold')% 背景颜色set(gcf,'Color',[1 1 1])

设置完毕后,以期刊所需分辨率、格式输出图片。

%% 图片输出figW = figureWidth;figH = figureHeight;set(figureHandle,'PaperUnits',figureUnits);set(figureHandle,'PaperPosition',[0 0 figW figH]);fileout = 'test';print(figureHandle,[fileout,'.png'],'-r300','-dpng');

也可以尝试其它配色:

以上。

相关文章:

Matlab进阶绘图第25期—三维密度散点图

三维密度散点图本质上是一种特征渲染的三维散点图,其颜色表示某一点所在区域的密度信息。 除了作图,三维密度散点图绘制的关键还在于密度的计算。 当然,不管是作图还是密度的计算,这些在《Matlab论文插图绘制模板》和《Matlab点…...

C++设计模式之桥接设计模式

文章目录 C桥接设计模式什么是桥接设计模式该模式有什么优缺点优点缺点 如何使用 C桥接设计模式 什么是桥接设计模式 桥接设计模式是一种结构型设计模式,它可以将抽象接口和实现分离开来,以便它们可以独立地变化和扩展。 该模式有什么优缺点 优点 灵…...

论文笔记:SUPERVISED CONTRASTIVE REGRESSION

2022arxiv的论文,没有中,但一作是P大图班本MIT博,可信度应该还是可以的 0 摘要 深度回归模型通常以端到端的方式进行学习,不明确尝试学习具有回归意识的表示。 它们的表示往往是分散的,未能捕捉回归任务的连续性质。…...

Java 多线程并发 CAS 技术详解

一、CAS概念和应用背景 CAS的作用和用途 CAS(Compare and Swap)是一种并发编程中常用的技术,用于解决多线程环境下的并发访问问题。CAS操作是一种原子操作,它可以提供线程安全性,避免了使用传统锁机制所带来的性能开…...

如何压缩高清PDF文件大小?将PDF文件压缩到最小的三个方法

PDF格式是一种非常常用的文档格式,但是有时候我们需要将PDF文件压缩为更小的大小以便于传输和存储。在本文中,我们将介绍三种PDF压缩的方法,包括在线PDF压缩、利用软件PDF压缩以及使用WPS缩小pdf。 首先,在线PDF压缩是最常用的方…...

04 统计语言模型(n元语言模型)

博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https://github.com/nickchen121/Pre-training-language-model 配套博客链接:https://www.cnblogs.com/nickchen121/p/15105048.html 预训练 预先训练 我们…...

Linux各目录详解

Linux文件系统是一个树状结构,由多个目录(或文件夹)组成。以下是常见的Linux目录及其功能的详细解释: /(根目录):在Linux文件系统中,所有其他目录和文件都是从根目录派生的。所有的存…...

【css】属性选择器分类

属性选择器类型示例说明[attribute][target]选择带有 target 属性的所有元素[attributevalue][target_blank]选择带有 target“_blank” 属性的所有元素[attribute~value][title~flower]选择带有包含 “flower” 一词的 title 属性的所有元素[attribute|value][lang|en]选择带有…...

备份容灾哪家好怎么样

数字化时代,数据安全是我们不容忽视的问题。云呐容灾备份系统不仅提供了强大的数据保护功能,而且操作简单,使用方便。无论你是企业管理员,还是个人用户,都可以轻松上手。它还提供了丰富的报告和监控功能,让…...

【前端实习生备战秋招】—HTML 和 CSS面试题总结(三)

【前端实习生备战秋招】—HTML 和 CSS面试题总结(三) 1.行内元素有哪些?块级元素有哪些? 空(void)元素有那些? CSS 规范规定,每个元素都有 display 属性,确定该元素的类型,每个元素…...

Ansible Rsync 使用Ansible Rsync模块进行文件传输

在Ansible自动化工具中,Rsync模块(Rsync Module)是一个强大的组件,用于在Ansible控制节点和目标主机之间进行文件传输和同步。本文将深入探讨Ansible Rsync模块,了解它如何成为自动化任务中高效同步的自动化利器。 Ans…...

Eclipse如何自动添加作者、日期等注释

一、创建类时自动添加注释 1、Window->Preferences 2、Java->Code Syle->Code Templates->Code->New Java files->Edit->要添加的注释->Apply 二、选中要添加的类或者方法通过AltShiftJ快捷键添加 1、Window->Preferences 2、Java->Code Syle…...

uniapp返回

// 监听返回事件onNavigationBarButtonTap() {uni.showModal({title: 提示,content: 确定要返回吗?,success: (res) > {if (res.confirm) {uni.navigateBack({delta: 2})}}})},...

【Antd】antd form表单的rules文案无法跟随状态重渲染的原因及解决办法

问题背景 我有两个表单项&#xff0c;当我选择出库类型&#xff0c;调用onChange改变inOutType 状态&#xff0c;这时候发现这句代码不生效&#xff1a; rules{[{ required: true, message: 请选择${inOutType 1 ? 持有人 : 负责人} }]}示例代码 <TypographyForm.Group…...

Rocketmq Filter 消息过滤(TAGS、SQL92)原理详解 源码解析

1. 背景 1.1 Rocketmq 支持的过滤方式 Rocketmq 作为金融级的业务消息中间件&#xff0c;拥有强大的消息过滤能力。其支持多种消息过滤方式&#xff1a; 表达式过滤&#xff1a;通过设置过滤表达式的方式进行过滤 TAG&#xff1a;根据消息的 tag 进行过滤。SQL92&#xff1a…...

Attacks in NLP

一、 Introduction NLP对抗攻击是人工智能对抗攻击的一个重要的组成部分&#xff0c;但是最近几年才逐渐开始兴起&#xff0c;究其原因在于NLP对抗攻击与传统computer vision或者audio对抗攻击有很大的不同&#xff0c;主要在于值空间的连续性&#xff08;CV、audio&#xff0…...

04-7_Qt 5.9 C++开发指南_QTreeWidget和QDockWidget

文章目录 1. 实例功能简述2. 源码2.1 可视化UI设计2.2 mainwindow.h2.3 mainwindow.cpp 1. 实例功能简述 本节介绍 QTreeWidget、QDockWidget 的使用&#xff0c;以及用 QLabel 显示图片的方法。实例 samp4_8以QTreeWidget 为主要组件&#xff0c;创建一个照片管理器&#xff…...

Keburnetes YAML配置文件管理

Kubernetes 支持 YAML 和 JSON 格式管理资源对象JSON 格式&#xff1a;主要用于 api 接口之间消息的传递YAML 格式&#xff1a;用于配置和管理&#xff0c;YAML 是一种简洁的非标记性语言&#xff0c;内容格式人性化&#xff0c;较易读 YAML 语法格式 大小写敏感使用缩进表示层…...

opencv基础-33 图像平滑处理-中值滤波cv2.medianBlur()

中值滤波是一种常见的图像处理滤波技术&#xff0c;用于去除图像中的噪声。它的原理是用一个滑动窗口&#xff08;也称为卷积核&#xff09;在图像上移动&#xff0c;对窗口中的像素值进行排序&#xff0c;然后用窗口中像素值的中值来替换中心像素的值。这样&#xff0c;中值滤…...

后端进阶之路——深入理解Spring Security配置(二)

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★前端炫酷代码分享 ★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ 解决算法&#xff0c;一个专栏就够了★ ★ 架…...

5分钟搞懂3GPP NTN标准:从Release16到19的关键技术演进与实战应用

5分钟搞懂3GPP NTN标准&#xff1a;从Release16到19的关键技术演进与实战应用 当全球通信行业将目光投向低轨卫星星座与高空平台时&#xff0c;3GPP的NTN&#xff08;非地面网络&#xff09;标准正在重塑连接边界。本文将以工程师视角&#xff0c;带您穿透技术文档迷雾&#xf…...

【单片机】内核中断及NVICPending

红色框住的是M3内核中断&#xff0c;青色框住的默认打开&#xff0c;不可关闭中断&#xff08;除NMI外可屏蔽&#xff09;。包括SysTick在内无需NVIC_EnableIRQ&#xff0c;也无需在中断处理函数里清标志位。NVIC_SetPendingIRQ和NVIC_ClearPendingIRQ基本用不到&#xff0c;任…...

煤矿电液阀系统摄像仪护套连接器 DLJ01(1000)参数

在煤矿综采工作面液压支架电液控制系统中&#xff0c;摄像仪护套连接器 DLJ01(1000)作为矿用本安型摄像仪与电源、信号传输线缆之间的专用接口&#xff0c;承担着视频信号与供电的稳定传输任务。其型号中的“1000”代表线缆长度为1000mm&#xff08;1米&#xff09;&#xff0c…...

AI写教材必备!高效工具生成低查重教材,节省大量时间

AI教材生成工具评测与介绍 在编写教材前&#xff0c;选择合适的工具简直是一场“挣扎”的过程&#xff01;如果用普通的办公软件&#xff0c;功能就显得太简单&#xff0c;框架和格式都需要自己一一调整&#xff1b;若选用专门的AI教材写作工具&#xff0c;操作却显得复杂&…...

保姆级教程:用Docker快速搭建一个可复现的Hive测试环境(专治各种启动报错)

从零构建可复现的Hive沙箱&#xff1a;Docker Compose全流程避坑指南 每次调试Hive时遇到FAILED: HiveException或metastore连接问题&#xff0c;是否感觉像在破解一个没有说明书的密码锁&#xff1f;传统环境配置的不可复现性让问题排查变成一场噩梦。本文将带你用Docker技术…...

高性能指纹特征提取开源方案:FingerJetFX OSE架构解析与实现指南

高性能指纹特征提取开源方案&#xff1a;FingerJetFX OSE架构解析与实现指南 【免费下载链接】FingerJetFXOSE Fingerprint Feature Extractor; the initial contribution by DigitalPersona is MINEX Compliant (SDK 3F). 项目地址: https://gitcode.com/gh_mirrors/fi/Fing…...

如何在5分钟内将网页SVG完美保存为可编辑矢量文件?

如何在5分钟内将网页SVG完美保存为可编辑矢量文件&#xff1f; 【免费下载链接】svg-crowbar Extracts an SVG node and accompanying styles from an HTML document and allows you to download it all as an SVG file. 项目地址: https://gitcode.com/gh_mirrors/sv/svg-cr…...

python-flask-djangol框架的食品仓库管理系统

目录需求分析与功能规划技术栈选择系统架构设计开发与测试流程安全与性能优化部署方案项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作需求分析与功能规划 明确食品仓库管理系统的核心需求&#xff0c;包括库存管理、食品分类、…...

信捷XD/XL系列PLC与C#通信实战:Modbus-RTU协议详解(附完整代码)

信捷XD/XL系列PLC与C#深度通信指南&#xff1a;从Modbus-RTU协议到工业级代码实现 在工业自动化领域&#xff0c;PLC与上位机的稳定通信是系统集成的核心环节。信捷XD/XL系列PLC凭借其出色的性价比和丰富的功能接口&#xff0c;已成为中小型自动化项目的热门选择。而C#作为.NET…...

Charticulator:突破传统桎梏的自定义数据可视化革新——从模板依赖到自由创作

Charticulator&#xff1a;突破传统桎梏的自定义数据可视化革新——从模板依赖到自由创作 【免费下载链接】charticulator Interactive Layout-Aware Construction of Bespoke Charts 项目地址: https://gitcode.com/gh_mirrors/ch/charticulator 数据可视化工具是否常常…...