MATALB-plot函数

1. plot(X,Y)

X和Y可以为标量、向量或矩阵。

创建Y中数据对X中对应值的二维线图

说明:

  • 1.1 若X和Y均为向量,则要求它们的长度必须相同,plot函数绘制Y对X的图。
%%%%%示例1%%%%%
x=[0,1,2,3,4,5];
y=[0,5,6,9,4,0];
plot(x,y);
grid on;

在这里插入图片描述

%%%%%示例2%%%%%
x=0:pi/100:2*pi; %将x创建为由02π之间的线性间隔值组成的向量,各值之间递增量为π/100,可以计算出向量x有201个元素
y=sin(x);        %将y创建为x的正弦值,那么y也是一个向量,且大小与x相等
plot(x,y);
grid on;

在这里插入图片描述

%%%%%示例3:绘制圆形%%%%%
r=2;
xc=4;
yc=3;
theta=linspace(0,2*pi);
x=r*cos(theta)+xc;
y=r*sin(theta)+yc;
plot(x,y);
axis equal;

在这里插入图片描述

  • 1.2 若X和Y均为矩阵,则它们的大小必须相同,plot函数绘制Y的列对X的列的图。
%%%%%示例%%%%%
x=[0,1,2;3,4,5];  %x为23列的矩阵
y=[0,7,8;9,4,0];  %y也是23列的矩阵,plot绘制y列对x列的图,那么y有几列,就会生成几条曲线
plot(x,y);
legend('第一列','第二列','第三列');
grid on;

在这里插入图片描述

  • 1.3 若X或Y中的一个是向量而另一个是矩阵,则矩阵的各维中必须有一维与向量的长度相等。
    如果矩阵的行数等于向量的长度,则plot函数绘制矩阵中的每一列对向量的图;
    如果矩阵的列数等于向量的长度,则plot函数绘制矩阵中的每一行对向量的图;
    如果矩阵为方阵,则该函数绘制每一列对向量的图。
%%%%%示例1%%%%%
x=[0,1,2];          %x为长度为3的向量
y=[0,7,8;9,2,0];    %y为23列的矩阵,y的列数等于向量x的长度,那么plot绘制y列对x的图,共生成2条曲线
plot(x,y);
legend('第一行','第二行');
grid on;

在这里插入图片描述

%%%%%示例2%%%%%
x=[0,1,2];
y=[0,7,8;9,2,0];
plot(y,x);         %相对于示例1稍稍做了变动,绘制x对y的图,y相当于横坐标取值,x为纵坐标取值,绘制结果为2条曲线
legend('第一行','第二行');
grid on;

在这里插入图片描述

%%%%%示例3%%%%%
x=[0,1,2];
y=[0,7,8;9,2,0;7,4,6];  %y为3×3的矩阵,plot函数绘制每一列对向量x的图
plot(x,y);
legend('第一列','第二列','第三列');
grid on;

在这里插入图片描述

  • 1.4 若X或Y之一为标量,而另一个为标量或向量,注意另一个不能为矩阵(会报错),则plot函数绘制离散点,但是要查看这些点,必须指定标记符号。
%%%%%示例1:x,y均为标量%%%%%
x=1;
y=2;
plot(x,y,'*');
grid on;

在这里插入图片描述

%%%%%示例1:x为向量,y为标量%%%%%
x=[1,2,3];
y=2;
plot(x,y,'o');
grid on;

在这里插入图片描述

2. plot(X,Y,LineSpec)

创建Y中数据对X中对应值的二维线图并设置线型、标记符号和颜色

LineSpec–线型、标记、颜色,可以是包含符号的字符向量或字符串,可以按任意顺序显示,不需要同时指定所有三个特征。

线型LineStyle说明
’ - ’实线(默认)
’ - - ’虚线
’ : ’点线
’ -. ’点划线
标记说明
‘o’圆圈
‘+’加号
‘*’星号
‘.’
‘×’叉号
‘square’或’s’方形
‘diamond’或’d’菱形
‘^’上三角
‘v’下三角
‘>’右三角
‘<’左三角
‘pentagram’或’p’五角形
‘hexagram’或’h’六角形
颜色说明
y黄色
m品红色
c青蓝色
r红色
g绿色
b蓝色
w白色
k黑色
RGB三元组例如 [0.4 0.6 0.7]
十六进制颜色代码例如 #0072BD
3. plot(X1,Y1,···,Xn,Yn)

绘制多个X、Y对组的图,所有线条都使用相同的坐标区。

x=linspace(-2*pi,2*pi);
y1=sin(x);
y2=cos(x);
plot(x,y1,x,y2);

在这里插入图片描述

4. plot(X1,Y1,LineSpec1,···,Xn,Yn,LineSpec2)
x=linspace(-2*pi,2*pi);
y1=sin(x);
y2=sin(x-0.5);
y3=sin(x-1);
%第一条正弦曲线使用绿色线条,不带标记;
%第二条正弦曲线使用蓝色虚线,带圆形标记;
%第三条正弦曲线只使用青蓝色星号标记。
plot(x,y1,'g',x,y2,'b--o',x,y3,'c*');

在这里插入图片描述

5. plot(Y)

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

说明:

  • 5.1 若Y为向量,x轴的刻度范围是从1至length(Y)。
  • 5.2 若Y为矩阵,则plot函数绘制Y中各列对其行号的图,x轴的刻度范围是从1到Y的行数。
Y=magic(4);
plot(Y);

在这里插入图片描述

在这里插入图片描述

  • 5.3 若Y为复数,则plot函数绘制Y的虚部对Y的实部的图,使得plot(Y)等效于plot(real(Y),imag(Y))。
6. plot(Y,LineSpec)

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

7. plot(__,Name,Value)

使用一个或多个Name,Value对组参数指定线条属性。可以将此选项与前面语法中的任何输入参数组合一起使用,名称-值对组设置将应用于绘制的所有线条。

名称-值对组参数:

指定可选的、以逗号分隔的Name,Value对组参数。Name为参数名称,Value为对应的值,Name必须放在引号中。

x=-pi:pi/10:pi;
y=sin(x);
%创建线图并使用LineSpec选项指定带方形标记的绿色虚线;
%使用Name,Value对组来指定线宽、标记大小和标记颜色;
%将标记边颜色设置为蓝色,并使用RGB颜色值设置标记面颜色。
plot(x,y,'--gs','LineWidth',2,'MarkerSize',10, 'MarkerEdgeColor','b', 'MarkerFaceColor',[1,0.5,0.5]);

在这里插入图片描述

Name说明
‘LineWidth’线条宽度,默认为0.5
‘MarkerSize’标记大小,默认为6
‘MarkerEdgeColor’标记轮廓颜色
‘MarkerFaceColor’标记填充颜色

局部标记方法:

‘MarkerIndices’要显示标记的数据点的索引,指定为正整数向量,如果不指定索引,MATLAB将在每个数据点显示一个标记
示例:
plot(x,y,’-o’,‘MarkerIndices’,[1 5 20]);在第一、第五和第十个数据点处显示圆形标记
示例:
plot(x,y,’-×’,‘MarkerIndices’,1:3:length(y));每隔三个数据点显示一个交叉标记
示例:
plot(x,y,‘Marker’,‘square’,‘MarkerIndices’,5);在第五个数据点显示一个正方形标记

使用圆点表示法可以修改或设置属性:

x=-pi:pi/10:pi;
y=sin(x);

z=plot(x,y,'--gs','LineWidth',2,'MarkerSize',10, 'MarkerEdgeColor','b', 'MarkerFaceColor',[1,0.5,0.5]);
% h=plot();返回由图形线条对象组成的列向量。在创建特定的图形线条后,可以使用h修改其属性

z.LineWidth=1;   %线宽更改为1
z.Marker='d';    %方形标记更改为菱形标记

在这里插入图片描述

8. plot(ax,__)

将在由ax指定的坐标区中,而不是在当前坐标区(gca)中创建线图。选项ax可以位于前面的语法中的任何参数组合之前。

ax-目标坐标区
(1)指定为Axes对象、PolarAxes对象(极坐标区绘图,或者使用polarplot函数)或者GeographicAxes对象(地理坐标区绘图,或者使用geoplot函数);
(2)如果不指定坐标区或者当前坐标区是笛卡尔坐标区,plot函数将使用当前坐标区。

%%********************************************************%%
%   使用tiledlayout和nexttile函数显示分块图                  %
%   调用tiledlayout函数以创建一个2×1分块图布局                %
%   调用nexttile函数创建一个坐标区对象,并将该对象返回为ax1    %
%%********************************************************%%
x=linspace(0,3);
y1=sin(5*x);
y2=sin(15*x);
tiledlayout(2,1);

ax1=nexttile;
plot(ax1,x,y1);
title(ax1,'sin(5x)');

ax2=nexttile;
plot(ax2,x,y2);
title(ax2,'sin(15x)');

在这里插入图片描述

9. 一点补充
函数名称效果
title添加标题
xlabel添加x轴标签
ylabel添加y轴标签
xlim设置或查询x坐标轴范围
ylim设置或查询y坐标轴范围
grid on显示网格线
hold on添加新绘图时保留当前绘图
legend为绘制的图形创建一个带有描述性标签的图例
yyaxis创建具有两个y轴的图
loglog双对数刻度图,在x轴和y轴上应用对数刻度来绘制x和y坐标
ax=gca返回当前图窗的当前坐标区或图
axis对坐标轴进行一定的操作
plot3绘制三维点或线图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值