目录
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个数据点处显示圆形标记。 1 plot(x,y,'-x','markerindices',1:3:length(y)) % 每隔2个数据点显示1个交叉标记。 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' | |
green | g | [0 1 0] | '#00ff00' | |
blue | b | [0 0 1] | '#0000ff' | |
cyan | c | [0 1 1] | '#00ffff' | |
magenta | m | [1 0 1] | '#ff00ff' | |
yellow | y | [1 1 0] | '#ffff00' | |
black | k | [0 0 0] | '#000000' | |
white | w | [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
相关链接: