Matlab二维图绘图详解
函数分析-plot
plot函数(二维线图)
语法
plot(X,Y)plot(X,Y,LineSpec)plot(X1,Y1,...,Xn,Yn)plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)plot(Y)plot(Y,LineSpec)
说明:
plot(X,Y)
创建Y
中数据对X
中对应值的二维线图。
如果X
和Y
都是向量,则它们的长度必须相同。plot
函数绘制Y
对X
的图。如果X
和Y
均为矩阵,则它们的大小必须相同。plot
函数绘制Y
的列对X
的列的图。如果X
或Y
中的一个是向量而另一个是矩阵,则矩阵的各维中必须有一维与向量的长度相等。如果矩阵的行数等于向量长度,则plot
函数绘制矩阵中的每一列对向量的图。如果矩阵的列数等于向量长度,则该函数绘制矩阵中的每一行对向量的图。如果矩阵为方阵,则该函数绘制每一列对向量的图。如果X
或Y
之一为标量,而另一个为标量或向量,则plot
函数会绘制离散点。但是,要查看这些点,您必须指定标记符号,例如plot(X,Y,'o')
。
plot(X,Y,LineSpec)
设置线型、标记符号和颜色。
plot(X1,Y1,...,Xn,Yn)
绘制多个X
、Y
对组的图,所有线条都使用相同的坐标区。
plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)
设置每个线条的线型、标记符号和颜色。您可以混用X
、Y
、LineSpec
三元组和X
、Y
对组:例如,plot(X1,Y1,X2,Y2,LineSpec2,X3,Y3)
。
plot(Y)
创建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)
设置线型、标记符号和颜色。
创建线图
将x
创建为由 0 和之间的线性间隔值组成的向量。在各值之间使用递增量。将y
创建为x
的正弦值。创建数据的线图
x = 0:pi/100:2*pi;y = sin(x);plot(x,y)
绘制多个线条
将x
定义为 100 个介于和之间的线性间隔值。将y1
和y2
定义为x
的正弦和余弦值。创建上述两个数据集的线图。
x = linspace(-2*pi,2*pi);y1 = sin(x);y2 = cos(x);figureplot(x,y1,x,y2)
根据矩阵创建线图
将Y
定义为magic
函数返回的 4×4 矩阵。
创建Y
的二维线图。将矩阵的每一列绘制为单独的线条。
Y = magic(4)figureplot(Y)
指定线型
绘制三条正弦曲线,每条曲线之间存在较小的相移。第一条正弦曲线使用绿色线条,不带标记。第二条正弦曲线使用蓝色虚线,带圆形标记。第三条正弦曲线只使用青蓝色星号标记
x = 0:pi/10:2*pi;y1 = sin(x);y2 = sin(x-0.25);y3 = sin(x-0.5);figureplot(x,y1,'g',x,y2,'b--o',x,y3,'c*')
在特定的数据点显示标记
通过指定标记符号并将MarkerIndices
属性设置为名称-值对组,创建一个线图并每隔四个数据点显示一个标记。
x = linspace(0,10);y = sin(x);plot(x,y,'-o','MarkerIndices',1:5:length(y))
指定线宽、标记大小和标记颜色
创建线图并使用LineSpec
选项指定带正方形标记的绿色虚线。使用Name,Value
对组来指定线宽、标记大小和标记颜色。将标记边颜色设置为蓝色,并使用 RGB 颜色值设置标记面颜色。
x = -pi:pi/10:pi;y = tan(sin(x)) - sin(tan(x));figureplot(x,y,'--gs',...'LineWidth',2,...'MarkerSize',10,...'MarkerEdgeColor','b',...'MarkerFaceColor',[0.5,0.5,0.5])
‘LineWidth’,2:设置线宽为2个点;
‘MarkerEdgeColor’,‘b’:设置数据点型和边界为蓝色;
‘MarkerFaceColor’,‘g’:设置数据点型的填充颜色为绿色;
‘MarkerSize’,10:设置数据点型的宽度为10个点。
添加标题和轴标签
创建余弦曲线的二维线图。使用 RGB 颜色值将线条颜色更改为蓝绿色。使用title
、xlabel
和ylabel
函数为图形添加标题和轴标签。
更改 x 轴标签字体大小和颜色
使用Name,Value
对组参数设置x轴标签的字体大小、字体粗细和文本颜色属性。
xlabel('Population','FontSize',12,'FontWeight','bold','Color','r')%'FontSize',12 字体大小%'FontWeight','bold'字体粗细%'Color','r'字体颜色 rwei红色
更改 y 轴标签字体大小和颜色
使用Name,Value
对组参数设置 y 轴标签的字体大小、字体粗细和文本颜色属性。
ylabel('Population','FontSize',12,'FontWeight','bold','Color','r')%'FontSize',12 字体大小%'FontWeight','bold'字体粗细%'Color','r'字体颜色 r为红色
更改 标题title
字体大小和颜色
使用Name,Value
对组参数设置 标题title
的字体大小、字体粗细和文本颜色属性。
title('2-D Line Plot','Color', 'm')%'FontSize',12 字体大小%'FontWeight','bold'字体粗细%'Color','m'字体颜色 m为红色紫色
使用linspace
函数将x
定义为 0 到 10 之间 150 个值组成的向量。将y
定义为x
的余弦值。
创建余弦曲线的二维线图。使用 RGB 颜色值将线条颜色更改为蓝绿色。使用title
、xlabel
和ylabel
函数为图形添加标题和轴标签。
x = linspace(0,10,150);y = cos(5*x);figureplot(x,y,'Color',[0,0.7,0.9])title('2-D Line Plot')xlabel('x')ylabel('cos(5x)')
指定线图的坐标区
创建一个包含两个子图的图窗,并将Axes
对象返回为ax1
和ax2
。通过引用Axes
对象在每个坐标区上创建一个二维线图。通过将Axes
对象传递给title
和ylabel
函数,为每个坐标区添加标题和y轴标签。
ax1 = subplot(2,1,1); % top subplotx = linspace(0,3);y1 = sin(5*x);plot(ax1,x,y1)title(ax1,'Top Subplot')ylabel(ax1,'sin(5x)')ax2 = subplot(2,1,2); % bottom subploty2 = sin(15*x);plot(ax2,x,y2)title(ax2,'Bottom Subplot')ylabel(ax2,'sin(15x)')
在坐标区上添加图例
通过设置Legend
属性来修改图例外观。创建图例时,可以在legend
命令中使用名称-值对组来设置属性。还可以在创建图例后使用Legend
对象来设置属性。
绘制四行随机数据。创建图例并将Legend
对象赋给变量lgd
。使用名称-值对组设置FontSize
和TextColor
属性。当您指定名称-值对组参数时,必须使用元胞数组来指定图例标签。
rdm = rand(4);plot(rdm)lgd = legend({'Line 1','Line 2','Line 3','Line 4'},'FontSize',12,'TextColor','blue')
Legend (Line 1, Line 2, Line 3, Line 4) with properties:String: {'Line 1' 'Line 2' 'Line 3' 'Line 4'}Location: 'northeast' Orientation: 'vertical'FontSize: 12%指定图例标签大小TextColor: 'blue' %指定图例标签颜色Position: [0.7088 0.7034 0.1778 0.1957]Units: 'normalized'
常用命令:
线型、标记和颜色
线型、标记和颜色,指定为包含符号的字符向量或字符串。符号可以按任意顺序显示。您不需要同时指定所有三个特征(线型、标记和颜色)。例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。
习题总结:
Matlab 画图,一张图中包含四幅图,两行两列。每幅图中包含至少两个数据,每个数据有标注;
每一个数据需要使用不同的线性和颜色;
标注需要可以改变字体大小坐标轴,x轴和y轴需要有标注(表示意思和单位等),标注需要可以改变字体大小每幅图中需要有网格;参考命令:subplot
x = [0:0.01:2.5];y1 = exp(-1.5*x).*sin(5*x);y2 = exp(-2*x).*sin(10*x);y3 = exp(-2.5*x).*sin(15*x);y4 = exp(-3*x).*sin(20*x);subplot(2,2,1)plot(x,y1,'y.-',x,y2,'g--','LineWidth',2,'MarkerSize',5)xlabel('x','FontSize',10),ylabel('Y/dB','FontSize',10),axis([0 2.5 -1 1])set(gca,'FontSize',8)%z坐标轴字体大小修改legend({'Y1/dB','Y2/dB'},'FontSize',8,'Location','Northwest'),grid on;%曲线家标注并修改字体大小subplot(2,2,2)plot(x,y2,'b-.',x,y3,'r*-','LineWidth',2,'MarkerSize',5)xlabel('x','FontSize',10),ylabel('Y/dB','FontSize',10),axis([0 2.5 -1 1])legend({'Y2/dB','Y3/dB'},'FontSize',8,'Location','Northwest'),grid on;subplot(2,2,3)plot(x,y3,'ko-',x,y4,'bh-','LineWidth',2,'MarkerSize',5)xlabel('x','FontSize',10),ylabel('Y/dB','FontSize',10),axis([0 2.5 -1 1])legend({'Y3/dB','Y4/dB'},'FontSize',8,'Location','Northwest'),grid on;subplot(2,2,4)plot(x,y4,'mx-',x,y1,'cs-','LineWidth',2,'MarkerSize',5)xlabel('x','FontSize',10),ylabel('Y/dB','FontSize',10),axis([0 2.5 -1 1])legend({'Y4/dB','Y1/dB'},'FontSize',8,'Location','Northwest'),grid on;
如果觉得《matlab二维图绘制分析总结》对你有帮助,请点赞、收藏,并留下你的观点哦!