MATLAB的二维线图绘图函数plot()实例积累

article/2025/8/5 6:47:14

目录

  • 1 plot(Y)
  • 2 plot(X,Y)
  • 3 plot(___,Name,Value)
  • 4 坐标轴标注和图形标题
  • 5图例标注
  • 6 目前MATLAB的文本已支持Latex公式输入
  • 7 控制坐标轴范围

1 plot(Y)

plot(Y) 创建 Y 中数据对每个值索引的二维线图。
如果 Y 是向量,x 轴的刻度范围是从 1 至 length(Y),此种情况示例代码如下:

t=1:0.1:10;
y=sin(t);
plot(y);

运行结果如下图所示:
在这里插入图片描述
注意:上面中的横坐范围并不是[1,10] 而是 [1,91],[1,91]正是向量y的索引,如下图所示:
在这里插入图片描述
如果 Y 是矩阵,则 plot 函数绘制 Y 中各列对其行号的图。x 轴的刻度范围是从 1 到 Y 的行数。此种情况示例代码如下:

Y=[1 2 3;4 5 6;7 8 9;10 11 12];
plot(Y);

在这里插入图片描述在这里插入图片描述
从上面两幅幅可以看出,图中的蓝线便是矩阵的第1列,图中的红线便是矩阵的第2列,图中的黄线便是矩阵的第3列。矩阵有几列便有几条线。x 轴的刻度范围是从 1 到 Y 的行数。

如果 Y 是复数,则 plot 函数绘制 Y 的虚部对 Y 的实部的图(即虚部为y轴,实部为x轴),使得 plot(Y) 等效于 plot(real(Y),imag(Y))。此种情况示例代码如下:

x=1:1:100;
y=2:2:200;
z=x+y.*1i;
plot(z);

运行结果如下图所示:
在这里插入图片描述

2 plot(X,Y)

plot(X,Y) 创建 Y 中数据对 X 中对应值的二维线图。
如果 X 和 Y 都是向量,则它们的长度必须相同。plot 函数绘制 Y 对 X 的图,即X为横轴,Y为纵轴。此种情况示例代码如下:

x=0:0.1:10;
y=sin(x)+2;
plot(x,y);

运行结果如下:
在这里插入图片描述
如果 X 和 Y 均为矩阵,则它们的大小必须相同。plot 函数绘制 Y 的列对 X 的列的图。即X和Y的每一列绘制成一条曲线,并且以X的列为x轴,Y的列为y轴。此种情况示例代码如下:

X=[1 6 11;2 7 12;3 8 13;4 9 14];
Y=[2 18 44;4 21 48;6 24 52;8 27 56];
plot(X,Y);

运行结果如下图所示:
在这里插入图片描述   在这里插入图片描述
在这里插入图片描述
图中蓝色的线是X矩阵和Y矩阵第1列元素形成的曲线;红色的线是X矩阵和Y矩阵第2列元素形成的曲线;橙色的线是X矩阵和Y矩阵第3列元素形成的曲线。
如果 X 或 Y 中的一个是向量而另一个是矩阵,则矩阵的各维中必须有一维与向量的长度相等。如果矩阵的行数等于向量长度,则 plot 函数绘制矩阵中的每一列对向量的图。如果矩阵的列数等于向量长度,则该函数绘制矩阵中的每一行对向量的图。如果矩阵为方阵,则该函数绘制每一列对向量的图。此种情况示例代码如下:

x=0:0.1:10;
y=[sin(x)+2;cos(x)+1];
plot(x,y);

运行结果如下:
在这里插入图片描述
在这里插入图片描述
从运行结果可以看出,y矩阵的列数等于向量x的长度,所以第一条曲线就是矩阵y的一行,并且以向量x为横坐标。

如果 X 或 Y 之一为标量,而另一个为标量或向量,则 plot 函数会绘制离散点。但是,要查看这些点,您必须指定标记符号,例如 plot(X,Y,‘o’)。此种情况示例代码如下:

x=3;
y=0:1:10;
plot(x,y,'o')

在这里插入图片描述

3 plot(___,Name,Value)

此格式用于设置线条的格式,比如线条的颜色、线型、点标等。
具体的使用方法为:指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在引号中。您可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,…,NameN,ValueN 所示。
使用示例如下:

x=0:0.5:20;
y=sin(x);
plot(x,y,'color','[0 0 1]','Marker','+');

运行结果:
在这里插入图片描述
这里可设置的线条格式有如下这些:
‘Color’ —线条颜色
‘LineStyle’ — 线型
‘Marker’—标记符号
‘LineWidth’—线条宽度
‘MarkerIndices’—要显示标记的数据点的索引
‘MarkerEdgeColor’—标记轮廓颜色
‘MarkerFaceColor’—标记填充颜色
‘MarkerSize’—标记大小
DatetimeTickFormat’—datetime 刻度标签的格式
‘DurationTickFormat’—duration 刻度标签的格式
常用的是前三个,即线条颜色、线型和标记符号,这三个的一般可选参数如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其它格式的可选参数大家去查阅MATLAB的帮助文档吧。

4 坐标轴标注和图形标题

对坐标轴进行标注和给图形加标题的函数主要有xlabel、ylabel zlabel和title等。它们的调用格式基本相同,使用也很简单,看一个实例就知道怎么用了。

x=1:0.1*pi:2*pi;
y=sin(x);
plot(x,y);
xlabel('x(0-2\pi)','fontweight','bold');
ylabel('y=sin(x)','fontweight','bold');
title('正弦函数','fontsize',12,'fontweight','bold','fontname','宋体');

在这里插入图片描述
更多关于它们的格式属性设置可以去查阅MATLAB的帮助文档。

5图例标注

我们经常会遇到在一张图中绘制多条曲线的情况,这时我们可以使用函数legend()为曲线添加图例以例区别它们。

x = linspace(0,2*pi);
y1 = sin(x);
y2 = cos(x);
plot(x,y1,x,y2);
legend('sin(x)','cos(x)');

运行结果如下:
在这里插入图片描述
函数plot()和函数legend()的使用其实是非常灵活的,比如下面的代码:

x = linspace(0,2*pi);
y1 = cos(x);
plot(x,y1,'DisplayName','cos(x)')
hold on y2 = cos(2*x);
plot(x,y2,'DisplayName','cos(2x)')
hold offlegend

运行结果如下图:
在这里插入图片描述

6 目前MATLAB的文本已支持Latex公式输入

如下面的代码:

x = 0:0.01:1;
y1= x.^(1/2.2);
y2 =x.^(2.2);
plot(x,y1,x,y2);
xlabel('V_{in}');
ylabel('V_{out}');
legend('\gamma=1/2.2','\gamma=2.2');

运行结果如下:
在这里插入图片描述
从运行结果中我们可以看出,下标都放置于正确位置了。“gamma”也被转义成了“γ”

7 控制坐标轴范围

使用命令axis可以控制坐标轴的范围,其调用格式如下:

axis([xmin xmax ymin ymax])
axis([xmin xmax ymin ymax zmin zmax cmin cmax])

一个示例如下:

y =[1 5 9 9 9 3 2];
plot(y);
axis([-1 8 0 20]);

在这里插入图片描述


http://chatgpt.dhexx.cn/article/uLpjZuRp.shtml

相关文章

Matlab绘图设置任意位置的图例,多个图例设置

Matlab绘图设置任意位置的图例,多个图例设置 Matlab绘图的图例,可能最普遍的是这种,只有一个图例,竖直方向排列,或者水平方向排列: clc; clear all; close all; t 0:0.001:6; A sin(t); B cos(t); fi…

Matlab 图例 位置的不同命令

Matlab 图例 位置的不同命令 本文是转载的,我怕忘了,所以转载到我的页面来 原文:http://blog.sina.com.cn/s/blog_7db803c10102weyk.html 转载1: https://www.cnblogs.com/xym4869/p/12243271.html Matlab中legend默认的位置在…

用数组的reduce方法实现map方法

what 首先我们需要理解reduce这个方法的语法: arr.reduce(callback,init) //详细写法 arr.reduce((prev,cur,index,arr){... },[])* callback (执行数组中每个值的函数,包含四个参数)1、previousValue (上一次调用回…

map的定义方法

map的定义方法 map的定义方法: map<数据类型&#xff0c;数据类型> 变量名字 举例: map<int,int> mymap; 第一个数据类型是key&#xff0c;是键 第二个数据类型是value&#xff0c;是值 另外map初始值会默认为0的 根据键和值是什么类型的&#xff0c;定义一个map …

Map基本介绍和Map方法

Map接口特点 Map接口特点(JDK8的Map接口特点) Map中key不可以重复&#xff0c;原因和HashSet一样,重复了后面添加的会覆盖前面添加的数据 Map中key可以为null,但只能有一个&#xff0c;因为后面添加的数据会覆盖前面添加的数据&#xff0c;value为null&#xff0c;可以有多个 …

map方法的常见使用

const a [{ num: 张无忌, price: 123 },{ num: 周芷若, price: 666 },]console.log(a.map((item) > item.num))console.log(map方法a,a是不变的&#xff0c;要有人接受他才行)console.log(a)let b []b a.map((item) > item.num)console.log(b) ----------------------…

JS数组的map方法

map方法 不支持IE6、7 、8 array1.map(fn) array1.map(fn[,thisArg]) 注意&#xff1a; fn 必须是函数&#xff0c;如果不是函数则会报错 TypeError: undefined is not a function4 map()不会对空数组进行检测。map()不会改变原是数组 1 .理解 &#xff08;官方&#xff1…

数组的Map方法详解

作用 map()&#xff1a;创建一个新数组&#xff0c;这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成。 语法 arr.map(callback(currentValue [, index [, array]]){ // Return element for new_array }[, thisArg]) callback&#xff1a;生成新数组元素…

javascript 中的map()方法

Vue全套学习免费视频&#xff1a;B站 小胖梅-的个人空间_哔哩哔哩_Bilibili 个人微信&#xff1a;renxm2023&#xff08;有前端技术群 提供技术问答 &#xff09; 接口数据映射 从接口得到数据 res: let r res.map(item > {return {title: item.name,sex: item.sex 1…

详解map(一)—— map的常用方法

前言 map是语言中常用的一个数据结构&#xff0c;其在不同语言中有着不同的实现的&#xff0c;现在我们看下在go中的底层实现。 更多内容分享&#xff0c;欢迎关注公众号&#xff1a;Go开发笔记 map源码 map的底层实现的源码位于runtime/map.go中&#xff0c;其相关方法的调…

Hive 分支判断 case函数 if函数

文章目录 CASE函数1.含义&#xff1a;2.示例&#xff1a; IF函数1.含义&#xff1a;2.示例&#xff1a; CASE函数 1.含义&#xff1a; CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END当a b,返回 c; 当 a d, 返回 e; 否则 返回 f 2.示例&#xff1a; emp_sex 表数据…

SQL语句--CASE函数写法的简单举例,及应用

SQL语句–CASE函数写法的简单举例&#xff0c;及应用 ---case函数的基本结构&#xff1a;case when...then...else... ----可以写也可以不写&#xff0c;按实际需求end【举个栗子_1】 eg1&#xff1a; --我想实现的效果&#xff1a; --当ID为1时&#xff0c;输出结果显示“…

MySQL:case函数和if函数的select用法(超详细)

case在select语句中的第一种用法&#xff1a; 这种写法只是针对某一个单一属性的具体值来做判断select id,name,(case sex when 0 then 男 when 1 then 女 else 未知 end)性别 from user; case在select语句中的第二种用法&#xff1a; case后面的判别依据关键字sex&#xff0c;…

oracle之case函数(case when then else end)用法

在写项目时&#xff0c;会遇到有字典项的业务&#xff0c;例如数字1代表男&#xff0c;数字2代表女&#xff0c;用做展示的时候&#xff0c;遇到对应数字就展示中文对应的男or女。 现在数据库创建一张表(message_mid)&#xff0c;字典项的字段是state&#xff1a;0代表办结&…

sql中的case函数的使用

以下内容首发于我的个人博客网站&#xff1a; http://riun.xyz/ 参考连接&#xff1a; https://www.cnblogs.com/HDK2016/p/8134802.html 一、分组时不同情况的处理 现有如下表&#xff1a; 需要按照大洲进行分组&#xff0c;最终得出如下结果&#xff1a; 可以使用case进行…

sql round函数(case函数)

注意&#xff1a;关于SELECT语句拼写注意事项 先列再纵&#xff0c;即&#xff1a;select 列 from tablename group by 纵 1. round(parm1,int parm2)&#xff1a;对parm1进行四舍五入操作&#xff0c;parm2为保留小数的有效位数&#xff1b; parm1 通常为double类型&#x…

sql中的case函数

在sql中case是一个控制流语句;类似于if语句 Case语句有两种形式:简单case语句与搜索case语句; 简单的case语句:可以检查表达式的值与一组唯一值的匹配: 语法: Case expression When value1 then returnvaluse1 When value2 then returnvaluse2 Else defaultvalue End Ca…

CASE函数

CASE函数 是一种多分支的函数&#xff0c;可以根据条件列表的值返回多个可能的结果表达式中的一个。 可用在任何允许使用表达式的地方&#xff0c;但不能单独作为一个语句执行。 分为&#xff1a; 简单CASE函数 搜索CASE函数 简单 CASE函数 1 2 3 4 5 6 CASE 测试表达式 WHE…

sql语句之case函数的用法

简单case函数语法&#xff1a; 是一种多分支的函数&#xff0c;可以根据条件列表的值返回多个可能的结果表达式中的一个。&#xff08;类似于if,else&#xff09; 简单 CASE函数&#xff1a; 计算测试表达式&#xff0c;按从上到下的书写顺序将测试表达式的值与每个WHEN子句的…

【MYSQL快速入门】case函数

case函数&#xff1a; 是一种多分支的函数&#xff0c;可以根据条件列表的值返回多个可能的结果表达式中的一个。 简单case函数&#xff1a; case 测试表达式 when 简单表达式1 then 结果表达式1 when 简单表达式2 then 结果表达式2.. when 简单表达式3 then 结果表达式n [e…