Matlab绘图系列教程-Matlab 34 种绘图函数示例(下)
Matlab绘图系列教程:揭秘高质量科学图表的绘制与优化
文章目录
- Matlab绘图系列教程:揭秘高质量科学图表的绘制与优化
- 第一部分:入门指南
- 1.1 简介
- 关于本教程的目的与范围
- Matlab绘图在科学研究中的重要性
- 1.2 准备工作
- 安装Matlab及其工具箱
- 1.3 Matlab34种绘图函数示例(下)
- ribbon函数:绘制带状图
- polarhistogram函数:绘制极坐标直方图
- contour3函数:绘制三维等高线图
- scatter3函数:绘制三维散点图
- pareto函数:绘制帕累托图
- scatterhist函数:绘制散点图和直方图组合图
- bar3函数:绘制三维柱状图
- pie3函数:绘制三维饼图
- compass函数:绘制极坐标箭头图
- wordcloud函数:绘制词云图
- parallelplot函数:绘制平行坐标图
- spiderplot函数:绘制蛛网图
- bode函数:绘制频率响应图
- geoplot函数:绘制地理坐标图
- comet3函数:绘制三维彗星轨迹图
- quiver3函数:绘制三维矢量场图
- dendrogram函数:绘制树状图
- spy函数:绘制稀疏矩阵图
- 1.4 定制和交互操作
- 1.5 结论
第一部分:入门指南
1.1 简介
关于本教程的目的与范围
欢迎来到Matlab绘图指南!本教程的目标是帮助您从一个绘图小白蜕变为Matlab绘图大神。无论您是科学研究人员、学生还是对数据可视化感兴趣的爱好者,本教程将为您揭示绘制高质量科学图表的技巧和策略,让您的图表在论文和报告中脱颖而出。
Matlab绘图在科学研究中的重要性
您可能会问,为什么要选择Matlab作为绘图工具呢?好问题!Matlab绘图功能强大而灵活,被广泛应用于科学研究领域。通过精心绘制的图表,您可以更好地展示数据和结果,让您的研究更具说服力和影响力。因此,掌握Matlab绘图技巧将成为您在科研道路上的得力助手。
1.2 准备工作
安装Matlab及其工具箱
在踏上绘图之旅之前,我们首先要确保您已成功安装Matlab及其必要的工具箱。如果您还没有安装Matlab,别担心!MathWorks官方网站将为您提供下载和安装指南。
1.3 Matlab34种绘图函数示例(下)
Matlab是一种功能强大的科学计算软件和编程语言,它在数据可视化方面有着出色的表现。Matlab提供了各种绘图函数和工具,使用户能够创建高质量的二维和三维图形,并进行各种定制和交互操作。
ribbon函数:绘制带状图
% 创建数据
x = 0:0.1:2*pi;
y = sin(x);% 绘制带状图
ribbon(x, y);% 添加标题和标签
title('Ribbon Plot');
xlabel('X');
ylabel('Y');% 添加颜色栏
colorbar;
polarhistogram函数:绘制极坐标直方图
% 创建数据
theta = 0:0.1:2*pi;
data = 1/2*theta;% 绘制极坐标直方图
polarhistogram(theta, data, 'LineWidth', 1.5);% 添加标题
title('Polar Histogram');
contour3函数:绘制三维等高线图
% 创建数据
x = -2:0.2:2;
y = -2:0.2:2;
[X, Y] = meshgrid(x, y);
Z = X.^2 + Y.^2;% 绘制三维等高线图
contour3(X, Y, Z);% 添加标题和标签
title('3D Contour Plot');
xlabel('X');
ylabel('Y');
zlabel('Z');% 添加颜色栏
colorbar;
scatter3函数:绘制三维散点图
% 创建数据
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;
pareto函数:绘制帕累托图
% 创建数据
categories = {'Category A', 'Category B', 'Category C', 'Category D'};
values = [20 30 15 35];% 绘制帕累托图
pareto(values, categories);% 添加标题和标签
title('Pareto Chart');
xlabel('Categories');
ylabel('Values');
scatterhist函数:绘制散点图和直方图组合图
% 创建数据
x = randn(1000, 1);
y = randn(1000, 1);% 绘制散点图和直方图组合图
scatterhist(x, y, 'Marker', 'o', 'MarkerSize', 6);% 添加标题和标签
title('Scatterhist Plot');
xlabel('X');
ylabel('Y');
bar3函数:绘制三维柱状图
% 创建数据
x = 1:5;
y = 1:6;
data = rand(6, 5);% 绘制三维柱状图
bar3(x, data);% 添加标题和标签
title('3D Bar Plot');
xlabel('X');
ylabel('Y');
zlabel('Data');% 添加颜色栏
colorbar;
pie3函数:绘制三维饼图
% 创建数据
data = [25 15 10 20 30];% 绘制三维饼图
pie3(data);% 添加标题
title('3D Pie Chart');
compass函数:绘制极坐标箭头图
% 创建数据
theta = 0:pi/4:2*pi;
r = ones(size(theta));% 绘制极坐标箭头图
compass(r, theta);% 设置箭头长度
h = findobj(gca, 'Type', 'line');
set(h, 'MarkerSize', 8);
wordcloud函数:绘制词云图
% 创建数据
words = {'apple', 'banana', 'orange', 'grape', 'watermelon', 'pineapple'};
counts = [10, 5, 8, 12, 6, 9];% 绘制词云图
wordcloud(words, counts);% 添加标题
title('Word Cloud');
parallelplot函数:绘制平行坐标图
% 创建数据
data = randn(100, 5);% 绘制平行坐标图
parallelplot(data, 'LineWidth', 1.5);% 添加标题和标签
title('Parallel Coordinate Plot');
xlabel('Variables');
ylabel('Values');
spiderplot函数:绘制蛛网图
% 创建数据
categories = {'Category A', 'Category B', 'Category C', 'Category D'};
data = [0.6, 0.8, 0.5, 0.7];% 绘制蛛网图
spiderplot(categories, data, 'Marker', 'o', 'LineWidth', 1.5);% 添加标题
title('Spider Plot');
bode函数:绘制频率响应图
% 创建系统传递函数
num = [1];
den = [1, 1, 1];
sys = tf(num, den);% 绘制频率响应图
bode(sys);% 添加标题
title('Bode Plot');
geoplot函数:绘制地理坐标图
% 创建地理数据
lat = [40.7128, 34.0522, 51.5074];
lon = [-74.0060, -118.2437, -0.1278];% 绘制地理坐标图
geoplot(lat, lon, 'o', 'MarkerSize', 10);% 添加标题
title('Geographic Plot');
comet3函数:绘制三维彗星轨迹图
绘制三维彗星轨迹图
% 创建数据
t = linspace(0, 10*pi, 1000);
x = sin(t);
y = cos(t);
z = t;% 绘制三维彗星轨迹图
comet3(x, y, z);% 添加标题和标签
title('Comet 3D Plot');
xlabel('X');
ylabel('Y');
zlabel('Z');% 创建动画帧并保存为GIF
filename = 'comet3_animation.gif';
for i = 1:length(t)% 在每个时间步骤处绘制当前位置的点hold on;plot3(x(i), y(i), z(i), 'ro', 'MarkerSize', 5);% 设置坐标轴范围xlim([-1.5 1.5]);ylim([-1.5 1.5]);zlim([0 max(z)]);% 每个时间步骤的绘图都会被捕获并写入GIF文件frame = getframe(gcf);im = frame2im(frame);[imind, cm] = rgb2ind(im, 256);if i == 1% 如果是第一帧,则创建新的GIF文件imwrite(imind, cm, filename, 'gif', 'Loopcount', inf, 'DelayTime', 0.05);else% 如果不是第一帧,则追加到现有的GIF文件中imwrite(imind, cm, filename, 'gif', 'WriteMode', 'append', 'DelayTime', 0.05);end% 在下一帧绘制之前清除当前位置的点cla;
enddisp('动画保存成功!');
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jJyJRmmS-1688491223594)(https://mweb-1307664364.cos.ap-chengdu.myqcloud.com/2023/07/05/comet3animation1.gif)]
quiver3函数:绘制三维矢量场图
% 创建数据
[x, y, z] = meshgrid(-2:0.5:2, -2:0.5:2, -2:0.5:2);
u = cos(x).*sin(y).*cos(z);
v = sin(x).*cos(y).*sin(z);
w = cos(x).*cos(y).*sin(z);% 绘制三维矢量场图
quiver3(x, y, z, u, v, w);% 添加标题和标签
title('3D Vector Field');
xlabel('X');
ylabel('Y');
zlabel('Z');
dendrogram函数:绘制树状图
% 创建数据
Z = linkage(rand(10, 3), 'ward');% 绘制树状图
dendrogram(Z);% 添加标题
title('Dendrogram');
spy函数:绘制稀疏矩阵图
% 创建稀疏矩阵
A = sparse(eye(5));% 绘制稀疏矩阵图
spy(A);% 添加标题
title('Sparse Matrix Plot');
这些是更多Matlab中常用的基本绘图函数的示例代码和相关注释。请注意,这些示例代码避免了与之前提供的示例重复。你可以根据需要自由修改和调整这些代码,以适应你的具体需求。
1.4 定制和交互操作
Matlab提供了丰富的选项和函数,使用户能够定制图形样式、颜色、轴标签、图例等。此外,Matlab的图形窗口还提供了交互式工具,例如缩放、旋转和平移等功能,方便用户进行图形的浏览和操作。
1.5 结论
Matlab提供了丰富而灵活的绘图功能,能够满足科学研究和数据可视化的各种需求。通过绘制基本图形、自定义图表属性和使用更高级的绘图技巧,您可以创建出令人印象深刻的图表,将数据和结果以清晰而优雅的方式展示出来。
在下一部分中,我们将更深入地探索Matlab绘图的各个方面,并介绍一些高级技巧和实用技巧。敬请期待!
相关文章:

Matlab绘图系列教程-Matlab 34 种绘图函数示例(下)
Matlab绘图系列教程:揭秘高质量科学图表的绘制与优化 文章目录 Matlab绘图系列教程:揭秘高质量科学图表的绘制与优化第一部分:入门指南1.1 简介关于本教程的目的与范围Matlab绘图在科学研究中的重要性 1.2 准备工作安装Matlab及其工具箱 1.3 …...

【Vue+Django】Training Management Platform Axios并发请求 - 20230703
需求陈述 由于API是特定单位/特定类别/特定教学方式的数据,故汇总数据需要循环请求不同单位/不同类别/不同教学方式。 技术要点 1.axios并发请求 2.JS for循环 3.Vue数组中出现 ob :Observer无法取值问题的解决方法 4.将数据转化为数组 5.一次请求所有数据后&…...

smart Spring:自定义注解、拦截器的使用(更新中...)
文章目录 〇、使用自定义注解的好处和工作原理一、如何使用自定义注解1.自定义一个注解2.在类、属性、方法上进行使用3.元注解 二、使用拦截器的好处和工作原理三、如何使用拦截器参考 本博客源码: 〇、使用自定义注解的好处和工作原理 自定义注解是Java语言提供的…...

php导出pdf
插件官网:TCPDF 博主用的是tp6框架 、tcpdf插件 composer require tecnickcom/tcpdf --ignore-platform-reqs 后面是忽略平台要求的参数 ---------------中文乱码start------------------ 关于中文乱码问题: 网上说的下载字体放入fonts 利用tools…...

【ECMAScript6_2】字符串
1、字符的Unicode表示法 ES6 加强了对 Unicode 的支持,允许采用\uxxxx形式表示一个字符,其中xxxx表示字符的 Unicode 码点。(\u0000-\uFFFF) 码点超过取值范围之后不能正确解读,但是只要给码点加上{}就可以正确解读。 …...

37.RocketMQ之Broker消息存储源码分析
highlight: arduino-light 消息存储文件 rocketMQ的消息持久化在我们在搭建集群时都特意指定的文件存储路径,进入指定的store目录下就可以看到。 下面介绍各文件含义 CommitLog 存储消息的元数据。produce发出的所有消息都会顺序存入到CommitLog文件当中。 CommitLog由多个文件…...

RabbitMq应用延时消息
一.建立绑定关系 package com.lx.mq.bind;import com.lx.constant.MonitorEventConst; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.*; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annota…...

【WEB自动化测试】- 浏览器操作方法
一、常用方法 1. maximize_window() 最大化窗口 (重点) 说明:如果能够在打开页面时,全屏显示页面,就能尽最大可能加载更多的页面,提高可定位性 2. set_window_size(width, height) 设置浏览器窗口的大小 (了解) 场景࿱…...

VSCode设置鼠标滚轮滑动设置字体大小
1:打开"文件->首选项->设置 2 :打开settings.json文件 英文版这里有个坑 一般点击我下图右上角那个{ } 就可以打开了 在 设置的json 文件中加入如下 “editor.mouseWheelZoom”: true { “editor.mouseWheelZoom”: true, “json.schemas”: [ ]}...

Spring MVC是什么?详解它的组件、请求流程及注解
作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 前言 本文将讲解Spring MVC是什么,它的优缺点与九大组件,以及它的请求流程与常用的注解。 目录 一、Spring MVC是什…...

基于Spring Boot的广告公司业务管理平台设计与实现(Java+spring boot+MySQL)
获取源码或者论文请私信博主 演示视频: 基于Spring Boot的广告公司业务管理平台设计与实现(Javaspring bootMySQL) 使用技术: 前端:html css javascript jQuery ajax thymeleaf 后端:Java springboot框架 …...

docker 基本命令安装流程
docker 基本命令安装流程 1.更新Ubuntu的apt源索引 $ sudo apt-get update2.安装包允许apt通过HTTPS使用仓库 $ sudo dpkg --configure -a $ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common3.添加Docker官方GPG key $ curl -f…...

尚硅谷大数据Flink1.17实战教程-笔记02【Flink部署】
尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】视频地址:尚硅谷大数据Flink1.17实战教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据Flink1.17实战教程-笔记01【Flink概述、Flink快速上手】尚硅谷大数据Flink1.17实战教程-笔记02【Flink部署】尚硅谷…...

【LeetCode每日一题合集】2023.7.3-2023.7.9
文章目录 2023.7.3——445. 两数相加 II(大数相加/高精度加法)2023.7.4——2679. 矩阵中的和2023.7.5——2600. K 件物品的最大和(贪心)代码1——贪心模拟代码2——Java一行 2023.7.6——2178. 拆分成最多数目的正偶数之和&#x…...

java企业工程项目管理系统平台源码
工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#…...

软件设计模式与体系结构-设计模式-行为型软件设计模式-访问者模式
目录 二、访问者模式概念代码类图实例一:名牌运动鞋专卖店销售软件实例二:计算机部件销售软优缺点适用场合课程作业 二、访问者模式 概念 对于系统中的某些对象,它们存储在同一个集合中,具有不同的类型对于该集合中的对象&#…...

【LeetCode】503. 下一个更大元素 II
503. 下一个更大元素 II(中等) 方法:单调栈 「 对于找最近一个比当前值大/小」的问题,都可以使用单调栈来解决。栈可以很好的保存原始位置,最近影射栈顶。题目要求更大,因此更大即解–出栈,更小…...

使用infura创建以太坊网络
创建账号 https://www.infura.io/zh 进入控制台Dashboard,选择CREATE API KEY 创建成功后,进入API KEY查看,使用PostMan测试 返回result即为当前区块。...

TCP/IP协议是什么?
78. TCP/IP协议是什么? TCP/IP协议是一组用于互联网通信的网络协议,它定义了数据在网络中的传输方式和规则。作为前端工程师,了解TCP/IP协议对于理解网络通信原理和调试网络问题非常重要。本篇文章将介绍TCP/IP协议的概念、主要组成部分和工…...

python图像处理实战(三)—图像几何变换
🚀写在前面🚀 🖊个人主页:https://blog.csdn.net/m0_52051577?typeblog 🎁欢迎各位大佬支持点赞收藏,三连必回!! 🔈本人新开系列专栏—python图像处理 ❀愿每一个骤雨初…...
学习vue2笔记
学习vue2笔记 文章目录 学习vue2笔记脚手架文件结构关于不同版本的Vuevue.config.js配置文件ref属性props配置项mixin(混入)插件scoped样式总结TodoList案例webStorage组件的自定义事件全局事件总线(GlobalEventBus)消息订阅与发布(pubsub&am…...

【SQL】查找多个表中相同的字段
--查找字段所在 SELECTbb.TABLE_NAME,bb.COLUMN_NAME ,aa.COLUMN_ID,aa.DATA_TYPE,aa.DATA_LENGTH ,bb.COMMENTS FROMuser_tab_cols aa JOIN user_col_comments bb ONaa.TABLE_NAME bb.TABLE_NAMEAND aa.COLUMN_NAME bb.COLUMN_NAME JOIN dba_objects cc ONbb.TABLE_NAME cc…...

“未来之光:揭秘创新科技下的挂灯魅力“
写在前面: 高度信息化当下时代,对电脑及数字设备的需求与日俱增无处不在,随之而来的视觉疲劳和眼睛问题也攀升到了前所未有的高度。传统台灯对于长时间使用电脑的人群来说是完全无法解决这些问题的。一款ScreenBar Halo 屏幕挂灯,…...

Spring boot MongoDB实现自增序列
在某些特定的业务场景下,会需要使用自增的序列来维护数据,目前项目中因为使用MongoDB,顾记录一下如何使用MongoDB实现自增序列。 MongoDB自增序列原理 MongoDB本身不具有自增序列的功能,但是MongoDB的$inc操作是具有原子性的&…...

MyBatis查询数据库【秘籍宝典】
0.MyBatis执行流程1.第一个MyBatis查询1.创建数据库和表1.2.添加MyBatis框架依赖【新项目】1.3.添加MyBatis框架依赖【旧项目】1.4.配置连接数据库1.5.配置MyBatis的XML路径2.MyBatis模式开发2.1 添加MyBatis的xml配置 3.增查改删(CRUD)5.1.增加操作5.2.…...

目标检测舰船数据集整合
PS:大家如果有想要的数据集可以私信我,如果我下载了的话,可以发给你们~ 一、光学数据集 1、 DIOR 数据集(已下载yolo版本)(论文中提到过) DIOR由23463张最优遥感图像和190288个目标实例组成,这些目标实例用…...

第一章 Android 基础--开发环境搭建
文章目录 1.Android 发展历程2.Android 开发机器配置要求3.Android Studio与SDK下载安装4.创建工程与创建模拟器5.观察App运行日志6.环境安装可能会遇到的问题7.练习题 本专栏主要在B站学习视频: B站Android视频链接 本视频范围:P1—P8 1.Android 发展历…...

【LeetCode周赛】2022上半年题目精选集——二分
文章目录 2141. 同时运行 N 台电脑的最长时间解法1——二分答案补充:求一个int数组的和,但数组和会超int 解法2——贪心解法 2251. 花期内花的数目解法1——二分答案代码1——朴素二分写法代码2——精简二分⭐ 解法2——差分⭐⭐⭐ 2258. 逃离火灾解法1—…...

vuejs如何将线上PDF转为base64编码
只需要两个方法-下载与转换: 下载方法: demoDownloadPDF(url) {// if (!(/^https?:/i.test(url))) return;if (window.XMLHttpRequest) var xhr new XMLHttpRequest(); else var xhr new ActiveXObject("MSXML2.XMLHTTP");xhr.open(GET, u…...

Repo工作原理及常用命令总结——2023.07
文章目录 1. 概要2. 工作原理2.1 项目清单库(.repo/manifests)2.2 repo脚本库(.repo/repo)2.3 仓库目录和工作目录2.4 repo 目录结构分析 3. 使用介绍3.1 init3.2 sync3.3 upload3.4 download3.5 forall3.6 prune3.7 start3.8 status 4. 使用实践4.1 对项目清单文件进行定制4.2…...