matlab使用2-基础绘图
matlab使用2-基础绘图
文章目录
- matlab使用2-基础绘图
- 1. 二维平面绘图
- 2. 三维立体绘图
- 3. 图形窗口的分割
1. 二维平面绘图
% 创建一些二维数据
x = 0:0.01:10; % x轴的数据点,从0到10,间隔为0.01
y = sin(x); % y轴的数据点,是x的正弦值 % 使用plot函数绘制二维线图
figure; % 创建一个新的图形窗口
plot(x, y); % 绘制二维线图 % 添加标签和标题
xlabel('x'); % x轴标签
ylabel('sin(x)'); % y轴标签
title('二维平面绘图:y = sin(x)'); % 图形标题 % 还可以添加图例(如果需要的话)
% legend('sin(x)'); % 在这个简单的例子中不需要图例 % 显示网格(可选)
grid on; % 打开网格 % 设置坐标轴的范围(可选)
% axis([xmin xmax ymin ymax]); % 设置x轴和y轴的范围 % 调整图形大小和位置(可选)
% set(gcf, 'Position', [left bottom width height]); % 调整图形窗口的位置和大小

-
基本步骤
- 创建二维数据
- 新建幕布 + 绘制二维平面图
- 图表配置:标题、标签、颜色等等
-
图标配置相关
-
颜色选项参数:
颜色 字符 红 r 绿 g 蓝 b 黄 y 粉红 m 青 c 白 w 黑 k -
线性选项参数:
线性 符号 示例 实线 - — 虚线 – --------- 冒号线 : … 点画线 -. —·—·—· -
数据标记点选项参数:
符号 点类型 · 点 + 十字号 o 圆圈 * 星号 x 叉号 s 正方形 d 棱形 ^ 上三角 v 下三角 < 左三角 > 右三角 p 五角星 h 六角星
-
-
二维平面图表-多线同一表
% 创建一些二维数据 x = 0:0.01:10; % x轴的数据点 y1 = sin(x); % 第一条线的y值,是x的正弦值 y2 = cos(x); % 第二条线的y值,是x的余弦值 % 创建一个新的图形窗口 figure; % 绘制第一条线(正弦曲线),红色,实线 plot(x, y1, 'r-'); % 保持当前的图形,以便添加更多线 hold on; % 绘制第二条线(余弦曲线),蓝色,带圆圈标记的实线 plot(x, y2, 'b-'); % 添加标签和标题 xlabel('x'); ylabel('y'); title('二维平面绘图:y = sin(x) 和 y = cos(x)'); % 添加图例 legend('sin(x)', 'cos(x)'); % 显示网格(可选) grid on; % 释放图形保持状态,以便下一个plot命令创建新图 hold off; % 通常不需要显式调用hold off,除非你要确保后续plot命令创建新图
2. 三维立体绘图
-
首先创建X和Y的网格数据
-
然后使用这些网格数据和一个函数来计算Z的值
-
然后,使用不同的函数来绘制三维图形
-
示例:
-
使用
plot3绘制三维线图% 创建三维数据 x = linspace(0, 2*pi, 100); y = linspace(0, 2*pi, 100); [X, Y] = meshgrid(x, y); Z = sin(sqrt(X.^2 + Y.^2)); % 绘制三维线图 figure; plot3(X(:), Y(:), Z(:), 'b-'); title('三维线图'); xlabel('X'); ylabel('Y'); zlabel('Z'); grid on;
-
使用
surf绘制三维曲面图% 使用与上面相同的X, Y, Z数据 figure; surf(X, Y, Z); title('三维曲面图'); xlabel('X'); ylabel('Y'); zlabel('Z'); colorbar; % 添加颜色条 lighting gouraud; % 改进光照效果 camlight; % 添加光源
-
使用
mesh绘制三维网格图% 使用与上面相同的X, Y, Z数据 figure; mesh(X, Y, Z); title('三维网格图'); xlabel('X'); ylabel('Y'); zlabel('Z');
-
使用
contour3绘制三维等高线图% 使用与上面相同的X, Y, Z数据 figure; contour3(X, Y, Z, 20); % 20表示等高线的级别数 title('三维等高线图'); xlabel('X'); ylabel('Y'); zlabel('Z');
-
-
注意事项
meshgrid函数用于创建X和Y的网格数据,这在三维图形绘制中是必要的:操作符用于将X、Y和Z的列向量转换为行向量,这在plot3中特别有用,因为plot3期望其参数是行向量- 在
surf、mesh和contour3等函数中,通常直接使用由meshgrid创建的二维网格
3. 图形窗口的分割
选择哪种方法取决于具体需求,例如想要创建的子图的数量、位置、样式以及是否需要与其他MATLAB功能(如工具栏、菜单等)集成等等
-
subplot函数-
subplot函数用于在单个图形窗口中创建多个子图。你可以指定子图的网格位置和当前激活的子图 -
示例:
subplot(2, 2, 1); % 创建 2x2 网格的第一个子图 plot(1:10); subplot(2, 2, 2); % 创建 2x2 网格的第二个子图 plot(10:-1:1); subplot(2, 2, 3); % 创建 2x2 网格的第三个子图 bar(1:5); subplot(2, 2, 4); % 创建 2x2 网格的第四个子图 pie([1 2 3 4]);
-
-
**
axes**-
axes函数允许更精细地控制子图的位置和大小,可以通过指定位置向量和轴属性来定义轴的范围和样式 -
示例:
axes('Position', [0.1 0.1 0.4 0.4]); % 创建一个轴,占据窗口的左下角 plot(1:10); hold on; % 保持当前轴上的图形,以便在同一轴上添加更多图形 plot(10:-1:1, 'r'); % 在同一轴上添加红色线条 axes('Position', [0.6 0.1 0.4 0.4]); % 创建一个新的轴,占据窗口的右下角 bar(1:5);
-
-
appdesigner 或 GUIDE
- 对于更复杂的图形用户界面(GUI),可以使用 MATLAB App Designer 或 GUIDE 工具来创建具有多个面板或轴的窗口
- 这些工具提供了图形化的界面来设计和布局GUI组件
-
tiledlayout 和 nexttile
-
tiledlayout和nexttile函数提供了一种更现代的方式来创建平铺的图形布局 -
允许定义网格布局,并在这些网格中放置轴
-
示例:
tiledlayout(2, 2); % 创建一个 2x2 的平铺布局 nexttile; % 激活第一个轴 plot(1:10); nexttile; % 激活第二个轴 plot(10:-1:1); nexttile; % 激活第三个轴 bar(1:5); nexttile; % 激活第四个轴 pie([1 2 3 4]);
-
相关文章:
matlab使用2-基础绘图
matlab使用2-基础绘图 文章目录 matlab使用2-基础绘图1. 二维平面绘图2. 三维立体绘图3. 图形窗口的分割 1. 二维平面绘图 % 创建一些二维数据 x 0:0.01:10; % x轴的数据点,从0到10,间隔为0.01 y sin(x); % y轴的数据点,是x的正弦…...
嵌入式开发四大平台介绍
MCU(Micro Control Unit)四大平台介绍) 单片机优点:缺点:总结: DSP digital signal processingARM优点:缺点:总结 FPGA什么事FPGA(集成元件库)FPGA开发方法—…...
《Python编程从入门到实践》day28
# 昨日知识点回顾 安装Matplotlib 绘制简单的折线图 # 今日知识点学习 15.2.1 修改标签文字和线条粗细 # module backend_interagg has no attribute FigureCanvas. Did you mean: FigureCanvasAgg? # 解决办法:matplotlib切换图形界面显示终端TkAgg。 #…...
STC8增强型单片机开发【定时器Timer⭐】
目录 一、引言 二、定时器基础知识 三、STC8定时器配置 四、代码示例 五、总结 一、引言 在单片机开发中,定时器(Timer)是一个极其重要的组件,它允许开发者基于时间触发各种事件或任务。STC8增强型单片机作为一款功能丰富的…...
C语言实训项目源码-02餐厅饭卡管理系统-C语言实训C语言大作业小项目
C语言餐厅饭卡管理系统 一、主要功能 主要功能模块 页面名称 实现功能 负责人 进入页面 进入程序 主函数 系统主要功能 修改密码函数 修改密码 充值,显示函数 饭卡充值与信息显示 购买饭菜…...
Linux第四节--常见的指令介绍集合(持续更新中)
点赞关注不迷路!本节涉及初识Linux第四节,主要为常见的几条指令介绍。 如果文章对你有帮助的话 欢迎 评论💬 点赞👍🏻 收藏 ✨ 加关注👀 期待与你共同进步! 1. more指令 语法:more [选项][文件]…...
Apache Sqoop:高效数据传输工具搭建与使用教程
目录 引言一、环境准备二、安装sqoop下载sqoop包解压文件 三、配置Sqoop下载mysql驱动拷贝hive的归档文件配置环境变量修改sqoop-env.sh配置文件替换版本的commons-lang的jar包 验证Sqoop安装查看Sqoop版本测试Sqoop连接MySQL数据库是否成功查看数据库查看数据表去除警告信息 四…...
【C++初阶】第十一站:list的介绍及使用
目录 list的介绍及使用 1.list的含义 2.list的介绍 3.list的使用 1.list的构造 2.list iterator的使用 3.list capacity 4.list element access 5 list modifiers 尾插尾删 和 头插头删 insert 和 erase resize swap clear 6.list sort and reverse 7.list copy vector copy li…...
【devops】Linux 日常磁盘清理 ubuntu 清理大文件 docker 镜像清理
日常磁盘清理 1、查找大文件 find / -type f -size 1G2、清理docker无用镜像(drone产生的残余镜像文件) docker system prune -a一、清理服务器磁盘 1、查找大文件 在Ubuntu系统中,你可以使用find命令来查找大文件。find命令是一个强大的…...
2024年资阳市企业技术中心申报条件、流程要求及支持政策须知
第一章 总则 第一条 为深入贯彻中央、省、市大力实施创新驱动发展战略的部署要求,进一步强化企业技术创新主体地位,引导和支持企业增强技术创新能力,健全技术创新市场导向机制,规范我市企业技术中心(下称“市企业技术…...
社交媒体数据恢复:如流
如流,原名百度Hi,是百度公司开发的一款即时通讯软体。百度Hi具备文字消息、视讯、通话、文件传输等功能。 查找备份:如果您之前有备份如流中的数据,您可以尝试从备份中恢复。如流支持备份至云端,如百度网盘等。 联系客…...
【微信小程序开发(从零到一)【婚礼邀请函】制作】——任务分析和效果实现的前期准备(1)
👨💻个人主页:开发者-曼亿点 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 曼亿点 原创 👨💻 收录于专栏:…...
独孤思维:模仿别人赚钱太难,很痛苦
01 独孤早年混群的时候,想着成为群红,引流。 结果不得其法,别人要什么项目,我就把满是钩子的副业资料发群里。 被群主踢了出去。 我当时还不理解。 后来自己做了社群以后,才明白,这种行为,…...
图片转base64【Vue + 纯Html】
1.template <el-form-item label"图片"><div class"image-upload-container"><input type"file" id"imageUpload" class"image-upload" change"convertToBase64" /><label for"imageU…...
【从零开始学习Redis | 第十一篇】快速介绍Redis持久化策略
前言: Redis 作为一种快速、高效的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景。然而,由于其特性是基于内存的,一旦服务器进程退出,内存中的数据就会丢失。为了解决这一问题,Redis 提供了持久…...
在Ubuntu中如何解压zip压缩包??
2024年5月15日,周三上午 使用 unzip 命令 unzip 文件名.zip这会将压缩包中的内容解压到当前目录。如果想解压到特定目录,可以使用 -d 选项,例如: unzip 文件名.zip -d 目标目录使用 7-zip 还可以安装 7-zip 工具来解压 ZIP 文件。…...
LeetCode 126题:单词接龙 II
❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容,和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣! 推荐:数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航: LeetCode解锁100…...
5.14(Vue2)
1.单页应用程序是指所有功能都在一个html页面上 单页面应用程序,之所以开发效率高,性能好,应用体验好,最大的原因就是:页面按需更新。 2.Vue中的路由 路径和组件的映射关系 Vue中的路由插件:VueRouter&…...
使用openssl生成自签名证书
使用openssl生成自签名证书 1. 交互式生成2. 一步生成参考 1. 交互式生成 自签名 SSL 证书的生成涉及一个简单的 3 步过程: 步骤 1:创建服务器私钥 openssl genrsa -out cert.key 2048步骤 2:创建证书签名请求 (CSR) openssl req -new -k…...
【java】泛型
文章目录 1. 什么是泛型?1.1 背景1.2 泛型的概念1.3 泛型的好处 2. 泛型类、接口...2.1 泛型类2.2 从泛型类派生子类2.2.1 子类也是泛型类,子类和父类的泛型类型要一致2.2.2 子类不是泛型类,父类要明确泛型的数据类型 2.3 泛型接口2.4 泛型方…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...
