当前位置:首页 » 《随便一记》 » 正文

MATLAB:plot函数详解

23 人参与  2023年04月03日 12:42  分类 : 《随便一记》  评论

点击全文阅读


文章目录

1 plot 函数语法 2 示例 2.1 plot(X,Y) | plot(X1,Y1,X2,Y2)2.2 plot(X,Y.Linespec) | plot(X1,Y1,Linespec1,X2,Y2,Linespec2)2.3 plot(X) | plot(X, Linespec)2.4 plot(___,Name,Value)2.4.1 在特定的数据点显示标记2.4.2 指定线宽、标记大小和标记颜色 3 常用颜色对照表4 plot3 函数

1 plot 函数语法

plot:绘制二维线图

NO.1 绘制横轴为X,竖轴为Y二维线图,Y值与X值一一对应。

plot(X,Y)

如果 X 和 Y 都是向量,则它们的长度必须相同。plot 函数绘制 Y 对 X 的图。

如果 X 和 Y 均为矩阵,则它们的大小必须相同。plot 函数绘制 Y 的列对 X 的列的图。

如果 X 或 Y 中的一个是向量,而另一个是矩阵,则矩阵的各维中必须有一维与向量的长度相等。如果矩阵的行数等于向量长度,则 plot 函数绘制矩阵中的每一列对向量的图。如果矩阵的列数等于向量长度,则该函数绘制矩阵中的每一行对向量的图。如果矩阵为方阵,则该函数绘制每一列对向量的图。

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

NO.2 设置线型、标记符号和颜色。

plot(X,Y,LineSpec)

LineSpec — 线型、标记和颜色

线型、标记和颜色,指定为包含符号的字符向量或字符串。符号可以按任意顺序显示。不需要同时指定所有三个特征(线型、标记和颜色)。例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。

示例: ‘–or’ 是带有圆形标记的红色虚线

线型说明
- (默认)实线
--虚线
:点线
-.点划线
标记说明
none(默认)不显示
o圆圈
+加号
*星号
.
x叉号
_水平线条
|垂直线条
s方形
d菱形
^上三角
v下三角
>右三角
<左三角
p五角形
h六角形
颜色说明
r红色
g绿色
b蓝色
w白色
k黑色
y黄色
m品红/洋红
c青蓝

NO.3 绘制横轴为X,竖轴为Y的多组二维线图,Y值与X值一一对应,所有线条都使用相同的坐标区。

plot(X1,Y1,...,Xn,Yn)

NO.4 设置每个线条的线型、标记符号和颜色。

plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)

可以混用 X、Y、LineSpec 三元组和 X、Y 对组:例如

plot(X1,Y1,X2,Y2,LineSpec2,X3,Y3)

NO.5 创建 Y 中数据对每个值索引的二维线图。

plot(Y)

如果 Y 是向量,x 轴的刻度范围是从 1 至 length(Y)。

如果 Y 是矩阵,则 plot 函数绘制 Y 中各列对其行号的图。x 轴的刻度范围是从 1 到 Y 的行数。

如果 Y 是复数,则 plot 函数绘制 Y 的虚部对 Y 的实部的图,使得 plot(Y) 等效于 plot(real(Y),imag(Y))。

也可以设置线形、标记和颜色

plot(Y,LineSpec)

NO.6 使用一个或多个 Name,Value 对组参数指定线条属性。如线宽、线形、线条颜色等。

plot(___,Name,Value)

2 示例

2.1 plot(X,Y) | plot(X1,Y1,X2,Y2)

以绘制三角函数曲线为例

代码1:

clc;clear;% 绘制x = linspace(0,2*pi);y = sin(x);plot(x,y)title('y=sin(x)')xlabel('X(m)')ylabel('Y(m)')

结果展示:

在这里插入图片描述

代码2:

clc;clear;% 绘制x = linspace(0,2*pi);y1 = sin(x);y2 = cos(x);plot(x,y1,x,y2)title('y1=sin(x),  y2=cos(x)')xlabel('X(m)')ylabel('Y(m)')

结果展示:

在这里插入图片描述

2.2 plot(X,Y.Linespec) | plot(X1,Y1,Linespec1,X2,Y2,Linespec2)

设置线型、标记符号和颜色

代码1:

clc;clear;% 绘制x = linspace(0,2*pi);y1 = sin(x);y2 = cos(x);plot(x,y1,'-.m')hold on;plot(x,y2,'*g')title('y1=sin(x),y2=cos(x)')xlabel('X(m)')ylabel('Y(m)')

与下面代码2输出结果一致

代码2:

clc;clear;% 绘制x = linspace(0,2*pi);y1 = sin(x);y2 = cos(x);plot(x,y1,'-.m',x,y2,'*g')title('y1=sin(x),y2=cos(x)')xlabel('X(m)')ylabel('Y(m)')

结果展示:
在这里插入图片描述

2.3 plot(X) | plot(X, Linespec)

代码1:

clc;clear;x = linspace(0,2*pi);plot(x,'xr')xlabel('X(m)')ylabel('Y(m)')

输出结果:

在这里插入图片描述
代码2:

clc;clear;% 绘制x = linspace(0,2*pi);plot(x,'--r')xlabel('X(m)')ylabel('Y(m)')

结果展示:

在这里插入图片描述

2.4 plot(___,Name,Value)

2.4.1 在特定的数据点显示标记

关键字:

MarkerIndices :要显示标记的数据点的索引,默认 1:length(YData),即显示所有数据点标记

注意: 要显示数据点标记,首先要指定标记符号

示例:

plot(x,y,'-o','MarkerIndices',[1 5 10])  % 在第1、第5和第10个数据点处显示圆形标记。
plot(x,y,'-x','MarkerIndices',1:3:length(y)) % 每隔2个数据点显示1个交叉标记。
plot(x,y,'Marker','square','MarkerIndices',5)   % 在第5个数据点显示1个正方形标记。

代码:

clc;clear;% 绘制x = linspace(0,2*pi);y = sin(x);plot(x,y,'--om','MarkerIndices',1:5:length(y))% 每隔 4 个点显示标记title('y = sin(x)')xlabel('X(m)')ylabel('Y(m)')

结果展示:
在这里插入图片描述

2.4.2 指定线宽、标记大小和标记颜色

关键字:
LineWidth:线宽,默认 0.5 磅
MarkerSize:标记大小,默认 6 磅
MarkerEdgeColor:标记轮廓颜色
MarkerFaceColor:标记填充颜色

代码:

clc;clear;% 绘制x = linspace(0,2*pi);y = sin(x)-tan(sin(x));plot(x,y,'-or','MarkerIndices',1:8:length(y),'LineWidth',3,'MarkerSize',10,'MarkerEdgeColor','b','MarkerFaceColor','g')title('y = sin(x)-tan(sin(x))')xlabel('X(m)')ylabel('Y(m)')

输出结果:

在这里插入图片描述

3 常用颜色对照表

颜色名称简称RGB三元组十六进制颜色代码外观
red r[1 0 0]'#FF0000'
greeng[0 1 0]'#00FF00'
blueb[0 0 1]'#0000FF'
cyanc [0 1 1] '#00FFFF'
magentam [1 0 1]'#FF00FF'
yellowy[1 1 0]'#FFFF00'
blackk[0 0 0]'#000000'
whitew [1 1 1]'#FFFFFF'
RGB三元组十六进制颜色代码外观
[0 0.4470 0.7410]'#0072BD'
[0.8500 0.3250 0.0980]'#D95319'
[0.9290 0.6940 0.1250]'#EDB120'
[0.4940 0.1840 0.5560]'#7E2F8E'
[0.4660 0.6740 0.1880]'#77AC30'
[0.3010 0.7450 0.9330]'#4DBEEE'
[0.6350 0.0780 0.1840]'#A2142F'

4 plot3 函数

plot3 函数绘制三维点或线图,用法与 plot 函数大同小异,具体细节可参考 https://ww2.mathworks.cn/help/matlab/ref/plot3.html


相关链接:

https://ww2.mathworks.cn/help/matlab/ref/plot.html

https://www.runoob.com/html/html-tutorial.html


点击全文阅读


本文链接:http://zhangshiyu.com/post/58186.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1