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图像处理 ❀愿每一个骤雨初…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散
前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说,在叠衣服的过程中,我会带着团队对比各种模型、方法、策略,毕竟针对各个场景始终寻找更优的解决方案,是我个人和我司「七月在线」的职责之一 且个人认为,…...
华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)
题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...