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

使用 MATLAB 绘制三维散点图:根据坐标和距离映射点的颜色和大小

在数据可视化中,三维散点图是一种非常直观的方式来展示数据的分布。MATLAB 提供了强大的 scatter3 函数,可以用来绘制三维散点图,而通过调整点的颜色和大小,可以进一步增强图形的表现力。

在本篇博客中,我们将逐步讲解如何使用 MATLAB 读取 Excel 文件中的数据,并绘制四个子图。每个子图中的点的颜色和大小将根据 X、Y、Z 坐标值及其离原点的距离进行映射。让我们一起动手实现这个可视化效果吧!

步骤 1:导入数据

假设我们有一个名为 data.xlsx 的 Excel 文件,其中包含三列数据:X 坐标、Y 坐标和 Z 坐标。这些数据将作为绘图的基础。我们首先使用 MATLAB 的 readtable 函数来导入 Excel 文件中的数据。

步骤 2:计算点的大小

为了使每个点的大小与数据的某些特征相关联,我们可以根据坐标的值或者离原点的距离来调整点的大小。例如,可以将 X、Y、Z 的值映射到点的大小,或者根据每个点到原点的距离来调整大小。

步骤 3:设置颜色映射

MATLAB 的 scatter3 函数允许我们根据数据的值映射点的颜色。在本例中,我们将使用 cool 渐变色来表示不同的数值。cool 渐变色是一种从蓝色到粉色的渐变色,非常适合这种数据映射。

我们可以通过 scatter3 函数的第二个参数来指定每个点的颜色,颜色将根据不同的坐标或距离值进行映射。

步骤 4:绘制图形

接下来,我们将绘制四个子图,每个子图展示不同的映射方式。我们使用 subplot 函数将一个图形窗口分成四个子图。

  • 子图 1:点的颜色根据 X 坐标值映射,点的大小也根据 X 坐标值进行调整。
  • 子图 2:点的颜色根据 Y 坐标值映射,点的大小根据 Y 坐标值进行调整。
  • 子图 3:点的颜色根据 Z 坐标值映射,点的大小根据 Z 坐标值进行调整。
  • 子图 4:点的颜色根据离原点的距离映射,点的大小也根据距离进行调整。

步骤 5:保存图像

在图形完成后,我们可以使用 print 函数将其保存为一个高分辨率的 JPEG 文件

代码:

clc; 
clear; 
close all; %% 导入数据
data = readtable('data.xlsx');  % 读取 Excel 文件
X = data.X;  % X 坐标
Y = data.Y;  % Y 坐标
Z = data.Z;  % Z 坐标%% 计算距离原点的距离
distance = sqrt(X.^2 + Y.^2 + Z.^2);  % 计算每个点与原点的距离%% 计算点的大小(可以根据实际需要进行缩放调整)
k=200;
sizeX = X / max(X) * k;  % 根据 X 坐标映射大小
sizeY = Y / max(Y) * k;  % 根据 Y 坐标映射大小
sizeZ = Z / max(Z) * k;  % 根据 Z 坐标映射大小
sizeDistance = distance / max(distance) * k;  % 根据距离映射大小%% 颜色渐变设置
colormap('cool');  % 使用 cool 渐变色%% 绘制图形% 子图 1: 根据 X 映射颜色和大小
ax1 = subplot(221); 
scatter3(X, Y, Z, sizeX, X, 'filled');  % 点的大小根据 X 坐标,颜色根据 X 坐标变化
colormap(ax1, 'cool');  % 使用 cool 渐变色
colorbar;  % 显示颜色条
xlabel('X', 'Fontname', '微软雅黑');
ylabel('Y', 'Fontname', '微软雅黑');
zlabel('Z', 'Fontname', '微软雅黑');
title('根据 X 坐标映射颜色和大小', 'Fontname', '微软雅黑');% 子图 2: 根据 Y 映射颜色和大小
ax2 = subplot(222); 
scatter3(X, Y, Z, sizeY, Y, 'filled');  % 点的大小根据 Y 坐标,颜色根据 Y 坐标变化
colormap(ax2, 'cool');
colorbar;
xlabel('X', 'Fontname', '微软雅黑');
ylabel('Y', 'Fontname', '微软雅黑');
zlabel('Z', 'Fontname', '微软雅黑');
title('根据 Y 坐标映射颜色和大小', 'Fontname', '微软雅黑');% 子图 3: 根据 Z 映射颜色和大小
ax3 = subplot(223); 
scatter3(X, Y, Z, sizeZ, Z, 'filled');  % 点的大小根据 Z 坐标,颜色根据 Z 坐标变化
colormap(ax3, 'cool');
colorbar;
xlabel('X', 'Fontname', '微软雅黑');
ylabel('Y', 'Fontname', '微软雅黑');
zlabel('Z', 'Fontname', '微软雅黑');
title('根据 Z 坐标映射颜色和大小', 'Fontname', '微软雅黑');% 子图 4: 根据离原点的距离映射颜色和大小
ax4 = subplot(224); 
scatter3(X, Y, Z, sizeDistance, distance, 'filled');  % 点的大小根据离原点的距离,颜色也根据距离变化
colormap(ax4, 'cool');
colorbar;
xlabel('X', 'Fontname', '微软雅黑');
ylabel('Y', 'Fontname', '微软雅黑');
zlabel('Z', 'Fontname', '微软雅黑');
title('根据离原点的距离映射颜色和大小', 'Fontname', '微软雅黑');%% 保存图像
print(gcf, 'scatter_plot_output_with_size.jpg', '-djpeg', '-r900');

相关文章:

使用 MATLAB 绘制三维散点图:根据坐标和距离映射点的颜色和大小

在数据可视化中,三维散点图是一种非常直观的方式来展示数据的分布。MATLAB 提供了强大的 scatter3 函数,可以用来绘制三维散点图,而通过调整点的颜色和大小,可以进一步增强图形的表现力。 在本篇博客中,我们将逐步讲解…...

数仓技术hive与oracle对比(五)

附录说明 附录是对测试过程中涉及到的一些操作进行记录和解析。 oracle清除缓存 alter system flush shared_pool; 将使library cache和data dictionary cache以前保存的sql执行计划全部清空,但不会清空共享sql区或者共享pl/sql区里面缓存的最近被执行的条目。刷…...

金融数学在股市交易中的具体应用

### 1. 风险管理 - **VaR(在险价值)**: VaR是衡量投资组合潜在损失的指标。例如,如果一个投资组合的VaR为100万元,置信水平为95%,这意味着在未来的一个交易日内,有95%的可能性该投资组合的损失不会超过100…...

Spring6:1 概述

Spring6:1 概述 标签 JAVASpring 目录 Spring 是什么?Spring 的狭义和广义 广义的 Spring:Spring 技术栈狭义的 Spring:Spring Framework Spring Framework 特点Spring 模块组成Spring6 特点 版本要求本课程软件版本 1. 概述 …...

Python Selenium 各浏览器驱动下载与配置使用(详细流程)

1、安装 pip install selenium 2、浏览器驱动下载 Chrome(google)浏览器驱动 下载地址:http://chromedriver.storage.googleapis.com/index.html 或 https://sites.google.com/a/chromium.org/chromedriver/home . 下载地址:http://chromedriver.stor…...

C语言期末考试——重点考点

目录 1.C语言的结构 2.三种循环结构 3.逻辑真假判断 4. printf函数 5. 强制类型转化 6. 多分支选择结构 7. 标识符的定义 8. 三目运算符 1.C语言的结构 选择结构、顺序结构、循环结构 2.三种循环结构 for、while、do-while 3.逻辑真假判断 C语言用0表示false,用非0(不…...

mongo开启慢日志及常用命令行操作、数据备份

mongo开启慢日志及常用命令行操作、数据备份 1.常用命令行操作2.mongo备份3.通过命令临时开启慢日志记录4.通过修改配置开启慢日志记录 1.常用命令行操作 连接命令行 格式:mongo -u用户名 -p密码 --host 主机地址 --port 端口号 库名; 如:连…...

Mybatis-Plus的主要API

一、实体类操作相关API BaseMapper<T>接口 功能&#xff1a;这是 MyBatis - Plus 为每个实体类对应的 Mapper 接口提供的基础接口。它提供了一系列基本的 CRUD&#xff08;增删改查&#xff09;操作方法。例如insert(T entity)方法用于插入一条记录&#xff0c;d…...

2023 年“泰迪杯”数据分析技能赛B 题企业财务数据分析与造假识别

2023 年“泰迪杯”数据分析技能赛B 题企业财务数据分析与造假识别 一、背景 财务数据是指企业经营活动和财务结果的数据记录&#xff0c;反映了企业的财务状况 与经营成果。对行业、企业的财务数据进行分析&#xff0c;就是要评价其过去的经营业绩、 衡量现在的财务状况、预测…...

【SpringMVC】参数传递 重定向与转发 REST风格

文章目录 参数传递重定向与转发REST风格 参数传递 ModelAndView&#xff1a;包含视图信息和模型数据信息 public ModelAndView index1(){// 返回页面ModelAndView modelAndView new ModelAndView("视图名");// 或// ModelAndView modelAndView new ModelAndView(…...

性能测试需求分析(超详细总结)

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1、客户方提出 客户方能提出明确的性能需求&#xff0c;说明对方很重视性能测试&#xff0c;这样的企业一般是金融、电信、银行、医疗器械等&#xff1b;他们…...

显卡(Graphics Processing Unit,GPU)架构详细解读

显卡架构主要分为两大类&#xff1a;GPU 核心架构&#xff08;也称为图形处理单元架构&#xff09;和显卡的其他组件&#xff08;如内存、控制器、输出接口等&#xff09;。本篇文章将对显卡架构进行详细分析&#xff0c;重点介绍 GPU 核心架构、显卡计算单元、显存结构、显卡管…...

【大语言模型】ACL2024论文-24 图像化歧义:Winograd Schema 挑战的视觉转变

【大语言模型】ACL2024论文-24 图像化歧义&#xff1a;Winograd Schema 挑战的视觉转变 目录 文章目录 【大语言模型】ACL2024论文-24 图像化歧义&#xff1a;Winograd Schema 挑战的视觉转变目录摘要研究背景问题与挑战如何解决核心创新点算法模型实验效果&#xff08;包含重要…...

AcWing 2868. 子串分值

文章目录 前言代码思路 前言 还是实力不允许啊&#xff0c;要是实力允许我就一道一道中等题刷了。简单题真够呛。有些题看题解都是看老半天看不懂&#xff0c;假设是这种我是真感觉没必要钻研。我现在大三&#xff0c;要是看一遍题解看不懂就算了&#xff0c;果断放弃。真可以…...

如何进行 JavaScript 性能优化?

要进行 JavaScript 性能优化&#xff0c;我们可以从多个角度进行思考&#xff0c;主要包括减少页面渲染时间、减少内存占用、优化代码执行效率等。以下是优化的一些方法&#xff0c;并结合实际项目代码示例讲解。 目录结构 减少 DOM 操作 缓存 DOM 元素批量更新 DOM 优化 Jav…...

使用TCP编程实现简单登录功能

在Java中&#xff0c;使用TCP编程实现登录功能通常涉及以下步骤&#xff1a; 创建服务器端&#xff0c;监听特定端口&#xff0c;等待客户端连接。创建客户端&#xff0c;连接到服务器端。客户端发送用户名和密码到服务器端。服务器端验证用户名和密码。服务器端返回验证结果给…...

卷积神经网络(CNN)的层次结构

卷积神经网络&#xff08;CNN&#xff09;是一种以其处理图像和视频数据的能力而闻名的深度学习模型&#xff0c;其基本结构通常包括以下几个层次&#xff0c;每个层次都有其特定的功能和作用&#xff1a; 1. 输入层&#xff08;Input Layer&#xff09;&#xff1a; 卷积神经网…...

操作系统文件管理相关习题2

文件管理的任务和功能文件管理 任务&#xff1a;对用户文件和系统文件进行组织管理&#xff0c;以方便用户使用&#xff0c;并保证文件的安全 功能&#xff1a;文件存储空间的管理&#xff0c;目录管理&#xff0c;文件读写管理和保护 目录管理 对目录管理的要求 实现按名存…...

react 通过ref调用子组件的方法

背景 父组件内引入了一个弹窗组件&#xff0c;弹窗组件使用了完全内聚的开发方法&#xff1b; 实现思路 父组件内通过ref获取的子组件&#xff0c;通过current调用子组件的方法&#xff0c;子组件需要通过forwardRef进行“包装”导出&#xff0c;通过useImperativeHandle暴露…...

【计算机网络】 —— 数据链路层(壹)

文章目录 前言 一、概述 1. 基本概念 2. 数据链路层的三个主要问题 二、封装成帧 1. 概念 2. 帧头、帧尾的作用 3. 透明传输 4. 提高效率 三、差错检测 1. 概念 2. 奇偶校验 3. 循环冗余校验CRC 1. 步骤 2. 生成多项式 3. 例题 4. 总结 四、可靠传输 1. 基本…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...