MATLAB之数据分析图系列:从二维到三维(直接套用)

MATLAB以其强大的矩阵运算和可视化功能,成为科研、工程领域的标配工具。本文提供从基础二维图形到复杂三维模型的即用代码块,涵盖数据标注、多图排版、动态演示等核心技巧

所有代码均经过MATLAB 2023a实测,替换数据即可生成专业级图表。

一、二维图形

1. 带误差带的折线图
% 数据准备 
x = 1:10; 
y = rand(1,10)*5; err = 0.2 + rand(1,10)*0.5; 
% 绘制误差折线图 
errorbar(x, y, err, 'o-', 'LineWidth', 1.5, 'Color', [0.2 0.4 0.8]) 
title('带误差带的实验数据','FontSize',12) 
xlabel('时间 (s)','FontWeight','bold') 
ylabel('电压 (V)') 
grid on 
set(gca, 'FontName', 'Arial')  % 设置字体
2. 多数据对比柱状图
data = [43 64 29; 52 54 49; 30 46 39]; % 3组x3类别 
categories = {'A组', 'B组', 'C组'};  
% 分组柱状图 
bar(data, 'grouped') 
set(gca, 'XTickLabel', categories) 
legend({'对照组','实验组1','实验组2'}, 'Location', 'northwest') 
ylabel('响应值') % 添加数值标签
for i = 1:size(data,1)    text(i-0.3, data(i,1)+2, num2str(data(i,1)), 'FontSize',10)
end

二、进阶二维技巧

3. 子图自动排版(适合多图对比)
figure('Position', [100 100 800 600])  
% 设置画布尺寸 
tiledlayout(2,2, 'Padding', 'compact')  % 创建2x2子图 % 
子图1:散点图 
nexttile scatter(randn(100,1), randn(100,1), 'filled', 'MarkerFaceAlpha',0.6) 
title('随机散点分布') 
% 子图2:饼图 
nexttile pie([28 17 35], {'正常','警告','故障'}) 
% 子图3:阶梯图 
nexttile stairs(1:24, rand(24,1)*50, 'LineWidth',1.2) 
% 子图4:极坐标图 
nexttile theta = linspace(0, 2*pi, 50); polarplot(theta, 2*sin(5*theta), 'm--')
4. 动态数据实时更新
h = animatedline('Color','r','LineWidth',w); 
axis([0 10 -5 5]) 
xlabel('时间')ylabel('信号强度')
for k = 1:100    addpoints(h, k/10, sin(k/2)+0.1*randn())   drawnow limitrate  % 高性能实时刷新 
end

三、三维图形实战

5. 三维曲线(轨迹可视化)
t = linspace(0, 10*pi, 500); 
x = exp(-0.1*t).*sin(t); 
y = exp(-0.1*t).*cos(t); 
z = t/5; plot3(x, y, z, 'LineWidth', 2) 
view(45,30)  % 调整视角 
xlabel('X轴'), ylabel('Y轴'), zlabel('Z轴') 
grid on 
box on  % 显示边框
6. 三维曲面+等高线
% 此脚本用于生成三维数据并绘制三维曲面图及其等高线投影图% 生成网格数据
% 创建X和Y方向的网格点,范围从 -3 到 3,间隔为 0.2
[X, Y] = meshgrid(-3:0.2:3);
% 根据X和Y计算Z值,使用函数 Z = X * exp(-X^2 - Y^2)
Z = X .* exp(-X.^2 - Y.^2);% 创建一个包含2行1列的子图布局
% 绘制三维曲面图
subplot(2, 1, 1);
% 绘制三维曲面,不显示边缘颜色
surf(X, Y, Z, 'EdgeColor', 'none');
% 设置颜色映射为 Turbo 色谱
colormap(turbo);
% 添加颜色条以显示颜色与数值的对应关系
colorbar;
% 设置子图标题
title('三维曲面图');% 叠加等高线投影图
subplot(2, 1, 2);
% 绘制填充的等高线图,设置等高线数量为 20,并显示等高线数值
contourf(X, Y, Z, 20, 'ShowText', 'on');
% 设置坐标轴比例相等,使图形不失真
axis equal;
% 设置子图标题
title('等高线投影图');
7. 三维柱状图
% 此脚本用于生成3组三维坐标数据并绘制三维柱状图% 生成三维坐标数据
% 生成X坐标矩阵,将向量1到5重复5次形成5行5列的矩阵
x = repmat(1:5, 5, 1); 
% 生成Y坐标矩阵,为X的转置矩阵
y = x'; 
% 生成Z坐标矩阵,为5行5列的随机矩阵,元素范围在0到10之间
z = rand(5, 5) * 10; % 创建一个新的图形窗口
figure;% 绘制三维柱状图
bar3(z);% 添加坐标轴标签
xlabel('X类别');
ylabel('Y类别');
zlabel('测量值');% 设置X轴刻度标签
set(gca, 'XTickLabel', {'A', 'B', 'C', 'D', 'E'});% 调整视角
view(-30, 30);    

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

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

相关文章

HTTP响应数据包全面解析:结构、原理与最佳实践

目录 HTTP响应概述 HTTP响应数据包结构 2.1 状态行 2.2 响应头 2.3 空行 2.4 响应体 HTTP状态码详解 3.1 1xx信息响应 3.2 2xx成功响应 3.3 3xx重定向 3.4 4xx客户端错误 3.5 5xx服务器错误 常见HTTP响应头字段 响应体内容类型 缓存控制机制 实际HTTP响应示例分…

H.264编码解析与C++实现详解

一、H.264编码核心概念 1.1 分层编码结构 H.264采用分层设计,包含视频编码层(VCL)和网络抽象层(NAL)。VCL处理核心编码任务,NAL负责封装网络传输数据。 1.2 NALU单元结构 // NAL单元头部结构示例 struc…

快速入手-基于Django-rest-framework的自身组件权限认证(九)

1、在对应的视图函数里增加认证(局部起作用,不全局生效) 导入类: from rest_framework.authentication import ( BasicAuthentication, SessionAuthentication, ) from rest_framework.permissions import IsAuthentica…

受控组件和非受控组件的区别

在 React 中,​受控组件(Controlled Components)​ 和 ​非受控组件(Uncontrolled Components)​ 是处理表单元素的两种不同方式,它们的核心区别在于 ​数据管理的方式 和 ​与 React 的交互模式。 受控组件…

迈向云原生:理想汽车 OLAP 引擎变革之路

在如今数据驱动的时代,高效的分析引擎对企业至关重要。理想汽车作为智能电动汽车的领军企业,面临着海量数据分析的挑战。本文将展开介绍理想汽车 OLAP 引擎从存算一体向云原生架构演进的变革历程,以及在此过程中面临的挑战,以及是…

ZLMediaKit 源码分析——[3] ZLToolKit 中EventPoller之网络事件处理

系列文章目录 第一篇 基于SRS 的 WebRTC 环境搭建 第二篇 基于SRS 实现RTSP接入与WebRTC播放 第三篇 centos下基于ZLMediaKit 的WebRTC 环境搭建 第四篇 WebRTC学习一:获取音频和视频设备 第五篇 WebRTC学习二:WebRTC音视频数据采集 第六篇 WebRTC学习三…

【分布式】分布式限流方案解析

文章目录 固定窗口限流方案​实现方式​优点​缺点​ 滑动窗口限流方案​实现方式​优点​缺点​ 令牌桶限流方案​实现方式​优点​缺点​ 漏斗限流方案​实现方式​优点​缺点​ 在分布式系统蓬勃发展的当下,系统面临的流量挑战日益复杂。为确保系统在高并发场景下…

WPS JS宏编程教程(从基础到进阶)-- 第三部分:JS宏编程语言开发基础

第三部分:JS宏编程语言开发基础 @[TOC](第三部分:JS宏编程语言开发基础)**第三部分:JS宏编程语言开发基础**1. 变量与数据类型**变量声明:三种方式****示例代码****数据类型判断****实战:动态处理单元格类型**2. 运算符全解析**算术运算符****易错点:字符串拼接 vs 数值相…

Python - 爬虫-网页抓取数据-库urllib

urllib库是Python内置的HTTP请求库。无需额外安装,可以直接使用。urllib库包含以下四个模块。 urllib.request - 打开和读取 URL。urllib.error - 包含 urllib.request 抛出的异常。urllib.parse - 解析 URL。urllib.robotparser - 解析 robots.txt 文件。 1、reque…

C++进阶知识复习 1~15

C 进阶总复习 (1~15) 目的1. 介绍下程序从编写到可执行的整个过程2. C中的auto和decltype的区别3. 介绍下多态的实现原理4. C中的new[] 和delete[] 为什么一定要配对使用?5. C中malloc申请的内存 可以使用delete释放嘛6. 什么情况下会出现内存…

输电线路航空标志球:低空飞行的安全路标 / 恒峰智慧科技

在现代社会,随着航空业的快速发展,低空飞行活动日益频繁。为了确保飞行安全,避免飞机与高压电线等障碍物发生碰撞,输电线路航空标志球应运而生。这种装置被广泛应用于高压输电线路上,尤其是超高压和跨江输电线&#xf…

Debian/Ubuntu的networking的`/etc/network/interfaces`配置文件详解

Debian/Ubuntu的networking的/etc/network/interfaces配置文件详解 Debian/Ubuntu 的 /etc/network/interfaces 配置文件详解 在 Debian/Ubuntu 系统中,/etc/network/interfaces 是传统网络接口配置文件,用于定义网络接口的静态/动态配置。以下是逐项解…

OpenCV 图形API(或称G-API)(1)

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 引言 OpenCV 图形API(或称G-API)是一个新的OpenCV模块,旨在使常规图像处理更快且更便携。通过引入一种新的基于图的执行…

Leetcode 3505. Minimum Operations to Make Elements Within K Subarrays Equal

Leetcode 3505. Minimum Operations to Make Elements Within K Subarrays Equal 1. 解题思路2. 代码实现 题目链接:3505. Minimum Operations to Make Elements Within K Subarrays Equal 1. 解题思路 这一题大的思路上不难想到就是一个动态规划的思路。我们分别…

win10之mysql server 8.0.41安装

一 mysql server 下载 官网下载地址页面 https://dev.mysql.com/downloads/mysql/二 免装版使用步骤 1 解压 下载完成后,解压文件夹,如下所示: 2 执行安装命令 D:\soft\mysql\mysql-8.0.41-winx64\mysql-8.0.41-winx64\bin>mysqld --install Service successfully in…

第十二届蓝桥杯省赛软件类(cc++组)

第一题&#xff08;空间&#xff09; 解题思路 答案 #include <stdio.h>int main() {// 计算256MB对应的字节数&#xff0c;1MB 1024KB&#xff0c;1KB 1024Blong long total_bytes 256 * 1024 * 1024; // 每个32位二进制整数占4个字节&#xff08;32 / 8 4&#xf…

C++ 新特性 | C++ 11 | 移动语义

文章目录 一、移动语义1、为什么需要移动语义&#xff1f;2、怎么“偷”&#xff1f;——右值引用&#xff08;&&&#xff09;3、如何实现移动语义&#xff1f;——移动构造函数/赋值4、什么时候触发移动&#xff1f;5、移动 vs 拷贝 一、移动语义 1、为什么需要移动语…

wsl下ubuntu安装宝塔

在 WSL (Windows Subsystem for Linux) 下的 Ubuntu 中安装宝塔面板的步骤如下&#xff1a; 1. 确保 WSL 环境正常 已安装 WSL 2 并启用 Ubuntu 发行版&#xff08;推荐 Ubuntu 20.04/22.04&#xff09;。 在 PowerShell 中检查 WSL 版本&#xff1a; wsl --list --verbose 如…

UDP网络通信

UDP网络通信&#xff1a; 步骤1 创建套接字&#xff1a; #include <sys/types.h> #include <sys/socket.h>int socket(int domain, int type, int protocol);参数一 domain&#xff1a; AF_UNIX Local communication unix(7) 本地通信 AF_INET IPv4 Inte…

教你快速理解linux中的NUMA节点探测是干什么用的?

想象一个大城市被划分成几个区&#xff08;比如东区、西区&#xff09;。每个区有自己的超市&#xff08;内存&#xff09;&#xff0c;居民&#xff08;CPU&#xff09;去本区的超市买东西最快&#xff0c;去其他区的超市会慢一些。 NUMA节点探测&#xff0c;就是Linux系统在…