白骑士的Matlab教学进阶篇 2.1 数据可视化
系列目录
上一篇:白骑士的Matlab教学基础篇 1.5 数据输入与输出
数据可视化是MATLAB的一个强大功能,它能够将数据以图形的形式展示出来,便于理解和分析。本文将介绍MATLAB中的基本绘图函数、绘制2D图形、绘制3D图形以及高级图形属性与定制的方法。
基本绘图函数
MATLAB提供了一系列基本的绘图函数,用于生成各种图形。以下是一些常用的基本绘图函数:
plot:用于绘制2D线图
x = 0:0.1:10;
y = sin(x);plot(x, y);title('Sine Wave');
xlabel('x');
ylabel('sin(x)');
scatter:用于绘制2D散点图
x = randn(100, 1);
y = randn(100, 1);scatter(x, y);title('Scatter Plot');xlabel('x');
ylabel('y');
bar:用于绘制柱状图
y = [1, 2, 3, 4, 5];bar(y);title('Bar Chart');xlabel('Category');
ylabel('Value');
surf:用于绘制3D曲面图
[X, Y] = meshgrid(-5:0.5:5, -5:0.5:5);
Z = sin(sqrt(X.^2 + Y.^2));surf(X, Y, Z);title('3D Surface Plot');
xlabel('X');
ylabel('Y');
zlabel('Z');
绘制2D图形(线图、散点图、柱状图)
绘制2D线图
2D线图是最基本的图形之一,用于显示变量之间的关系。以下是一个简单的例子:
x = 0:0.1:10;
y1 = sin(x);
y2 = cos(x);plot(x, y1, '-r', x, y2, '--b');title('Sine and Cosine Waves');
xlabel('x');
ylabel('y');legend('sin(x)', 'cos(x)');grid on;
在这个例子中,‘plot‘ 函数绘制了 ‘sin(x)‘ 和 ‘cos(x)‘ 的曲线,并使用不同的线型和颜色进行区分。
绘制2D散点图
2D散点图用于显示数据点的分布情况。以下是一个简单的例子:
x = randn(100, 1);
y = randn(100, 1);scatter(x, y, 'filled');title('Scatter Plot');
xlabel('x');
ylabel('y');grid on;
在这个例子中,‘scatter‘ 函数绘制了100个随机数据点的散点图,并使用 ‘filled‘ 参数填充点的颜色。
绘制柱状图
柱状图用于显示类别数据的分布情况。以下是一个简单的例子:
categories = {'A', 'B', 'C', 'D', 'E'};
values = [5, 3, 9, 2, 6];bar(values);set(gca, 'XTickLabel', categories);title('Bar Chart');
xlabel('Category');
ylabel('Value');grid on;
在这个例子中,‘bar‘ 函数绘制了一个柱状图,并将 ‘X‘ 轴标签设置为类别名。
绘制3D图形(曲面图、散点图)
绘制3D曲面图
3D曲面图用于显示三维数据的形态。以下是一个简单的例子:
[X, Y] = meshgrid(-5:0.5:5, -5:0.5:5);
Z = sin(sqrt(X.^2 + Y.^2));surf(X, Y, Z);title('3D Surface Plot');
xlabel('X');
ylabel('Y');
zlabel('Z');grid on;
在这个例子中,‘surf‘ 函数绘制了 ‘sin(sqrt(X.^2 + Y.^2))‘ 的三维曲面图,并设置了坐标轴标签。
绘制3D散点图
3D散点图用于显示三维数据点的分布情况。以下是一个简单的例子:
x = randn(100, 1);
y = randn(100, 1);
z = randn(100, 1);scatter3(x, y, z, 'filled');title('3D Scatter Plot');
xlabel('X');
ylabel('Y');
zlabel('Z');grid on;
在这个例子中,‘scatter3‘ 函数绘制了100个随机数据点的三维散点图,并使用 ‘filled‘ 参数填充点的颜色。
高级图形属性与定制
MATLAB提供了丰富的图形属性设置功能,可以对图形进行高度定制。以下是一些常用的高级图形属性与定制方法:
设置图形属性
plot(x, y, 'LineWidth', 2, 'Color', 'r');title('Customized Line Plot', 'FontSize', 14);
xlabel('x', 'FontSize', 12);
ylabel('y', 'FontSize', 12);grid on;
在这个例子中,设置了线条的宽度、颜色以及标题和坐标轴标签的字体大小。
添加图例
plot(x, y1, '-r', x, y2, '--b');
legend({'sin(x)', 'cos(x)'}, 'Location', 'northeast');
在这个例子中,使用 ‘legend‘ 函数添加了图例,并设置了图例的位置。
添加文本注释
plot(x, y);
text(5, 0.5, 'Peak', 'FontSize', 12, 'Color', 'b');
在这个例子中,使用 ‘text‘ 函数在图形中添加了文本注释。
设置坐标轴范围
plot(x, y);
axis([0 10 -1 1]);
在这个例子中,使用 ‘axis‘ 函数设置了坐标轴的范围。
保存图形
plot(x, y);
saveas(gcf, 'myplot.png');
在这个例子中,使用 ‘saveas‘ 函数将当前图形保存为PNG文件。
总结
本文介绍了MATLAB中数据可视化的基本方法和技巧,包括基本绘图函数、2D和3D图形的绘制以及高级图形属性的定制。通过学习这些内容,读者可以熟练地在MATLAB中创建各种图形,帮助更直观地理解和分析数据。这些可视化工具不仅能够展示数据的特征和趋势,还可以为数据分析提供重要的支持,使得复杂的数据更易于解释和展示。掌握这些技能将大大提升数据处理和展示的能力,在科研和工程应用中发挥重要作用。
下一篇:白骑士的Matlab教学进阶篇 2.2 数值计算
相关文章:
白骑士的Matlab教学进阶篇 2.1 数据可视化
系列目录 上一篇:白骑士的Matlab教学基础篇 1.5 数据输入与输出 数据可视化是MATLAB的一个强大功能,它能够将数据以图形的形式展示出来,便于理解和分析。本文将介绍MATLAB中的基本绘图函数、绘制2D图形、绘制3D图形以及高级图形属性与定制的…...

2024年8月 | 涉及侵权、抄袭洗稿违规行为公示
为护社区良好氛围,守护清朗网络空间,CSDN持续对侵害他人权益、抄袭洗稿违规内容进行治理。 今年7月,CSDN共计删除涉及抄袭洗稿内容xx篇,下架侵权资源xx个,封禁违规账号42个。 部分违规账号公示 账号昵称处置结果封禁创…...

操作系统快速入门(四)
😀前言 本篇博文是关于操作系统的,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉&…...

前缀异或优化
前言:这个题目其实就是考察前缀和,正常情况下开二维数组来记录,但是也可以优化成一位的位运算 我们顺便可以学习一下如何进行查询二进制串中1的个数 class Solution { public:vector<bool> canMakePaliQueries(string s, vector<vec…...
AI学习指南深度学习篇-卷积神经网络中的正则化和优化
AI学习指南深度学习篇-卷积神经网络中的正则化和优化 在深度学习领域,卷积神经网络(Convolutional Neural Networks,CNN)是一类非常重要的模型,被广泛应用于图像识别、目标检测等任务中。然而,在训练CNN时…...
AutoGen Studio 本地源码构建
目录 一、环境配置 1.1 创建本地环境 1.2 下载 autogen 源码 1.3 安装依赖 2. 构建 3. 运行 本文主要介绍 AutoGen Studio 本地源码构建过程。 一、环境配置 1.1 创建本地环境 通过 conda 创建一个环境,Python 3.10+,Node.js 14.15.0+。 conda create -n autogen p…...

医疗陪诊系统源码详解:在线问诊APP开发的技术要点
如今,开发一款高效、可靠的在线问诊APP则成为了许多企业的目标。本篇文章,小编将详细解析医疗陪诊系统的源码,并探讨在线问诊APP开发的关键技术要点。 一、医疗陪诊系统的基本功能 在开始开发之前,首先需要明确医疗陪诊系统的基本…...

VSCode编译多个不同文件夹下的C++文件
实际上VSCode编译C文件就是通过向g传递参数实现的,因此即使是不同包下面的cpp文件或者.h文件都是可以通过修改g的编译参数实现,而在VSCode中,task.json文件其实就是在配置g的编译参数,因此我们可以通过修改task.json里面的参数&am…...

【安卓】连接真机和使用通知
文章目录 连接到真机使用通知通知的简单使用通知的详细信息 连接到真机 先用USB线将手机与电脑连接。 打开手机的设置,找到关于手机,点开之后,找到开发者选项界面。或者找到软件版本号,连续点击,系统会提示你点击几次能…...

CSS3下拉菜单实现
导航菜单: <nav class"multi_drop_menu"><!-- 一级开始 --><ul><li><a href"#">Power</a></li><li><a href"#">Money</a></li><li><a href"#"…...
Mysql8.3.0排序导致分页数据错乱
#业务场景 生产环境 仓库管理,能看到各个仓库的C库位 物料管理,编辑物料,弹框时选择库位时,7页数据,没有C库位,查询条件指定C,能查到数据 本地环境 数据还原到本地 弹框数据在2页与第3页看…...

漏洞复现-Cacti命令执行漏洞 (CVE-2022-46169)
1.漏洞描述 Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具,可为用户提供强大且可扩展的操作监控和故障管理框架。 该漏洞存在于remote_agent.php文件中,未经身份验证的恶意攻击者可以通过设置HTTP_变量…...

【Ajax使用说明】Ajax、Axios以及跨域
目录 一、原生Ajax 1.1 Ajax简介 1.2 XML简介 1.3 AJAX 的特点 1.3.1 AJAX的优点 1.3.2 AJAX 的缺点 1.4 AJAX 的使用 1.4.1AJAX的基本操作 1.4.2AJAX的传参 1.4.3 AJAX的post请求及设置请求体 1.4.4 AJAX响应json数据 1.4.5 AJAX请求超时与网络异常处理 1.4.5 AJ…...
IIS网站搬家工具WebDeploy(把网站迁移去另一台服务器)
如果不能克隆镜像,又想快速迁移,请保证新服务器和原服务器的文件目录结构一致,各种程序的安装路径一致,包括python的安装路径、mysql的秘密 防火墙设置等 网站迁移去另一台服务器,如果重新设置IIS,还是有…...

SQL Server 2022的游标
《SQL Server 2022从入门到精通(视频教学超值版)》图书介绍-CSDN博客 《SQL Server 2022从入门到精通(视频教学超值版)(数据库技术丛书)》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) 游标是SQL Serv…...

「11月·香港」第三届人工智能、人机交互和机器人国际学术会议(AIHCIR 2024)
第三届人工智能、人机交互和机器人国际学术会议(AIHCIR 2024)组委会热忱地邀请您参与本届大会。本届大会旨在聚集领先的科学家、研究人员和学者,共同交流和分享在人工智能、人机交互和机器人各个方面的经验和研究成果,为研究人员、…...

【redis】springboot 用redis stream实现MQ消息队列 考虑异常ack重试场景
redis stream是redis5引入的特性,一定程度上借鉴了kafka等MQ的设计,部署的redis版本必须 > 5 本文主要讲的是思路,结合简单的源码分析(放心,无需深入大量源码);讲述在redis stream文档缺乏&a…...

初识IDEA
一、IDEA简介 IDEA 全称 IntelliJ IDEA,是 JAVA编程语言开发的集成环境。IntelliJ 在业界被公认为最好的 java开发⼯具 之⼀,尤其在智能代码助⼿、代码⾃动提示、重构、J2EE⽀持、Ant、JUnit、CVS整合、代码审 查⽅⾯。 JetBrains官⽹ : JetBrains: Esse…...

zigbee笔记:十、ZStack(2.3.0-1.4.0)的OSAL使用分析
zigbee笔记:九中,我们已经学会了利用模板,定制自己的个性开发工程,本文为协议栈(ZStack-CC2530-2.3.0-1.4.0)代码使用分析笔记,来进一步掌握协议栈的使用。 一、协议栈使用知识点 1、协调器、路…...

SpringBoot响应式编程(1)Reactor核心
一、概述 1.1介绍 Reactor 是一个用于JVM的完全非阻塞的响应式编程框架,Webflux 底层使用的也是该框架,其通过流的方式实现了异步相应,具备高效的需求管理(即对 “背压(backpressure)”的控制)…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...

分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...

初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...

【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解
进来是需要留言的,先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码,输入的<>当成字符串处理回显到页面中,看来只是把用户输…...

VisualXML全新升级 | 新增数据库编辑功能
VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...

论文阅读:Matting by Generation
今天介绍一篇关于 matting 抠图的文章,抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法,已经有很多的工作和这个任务相关。这两年 diffusion 模型很火,大家又开始用 diffusion 模型做各种 CV 任务了&am…...

如何在Windows本机安装Python并确保与Python.NET兼容
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...