1.创建二维线图
1.1plot函数创建线图
使用 plot(x,y) 函数创建二维线图,其中x表示横坐标,y表示纵坐标。x、y可用一串向量表示,比如:X=linspace(1,100),或者用X=(start:step:end)表示
%例如,绘制从 0 到 2π 之间的正弦函数值。
x = linspace(0,2*pi,100);
y = sin(x);
plot(x,y)
结果:

还可以利用xlim、ylim指定坐标轴范围
1.2标记坐标区并添加标题
%继以上代码,xlabel标记横轴,ylabel标记纵轴,title添加标题,legend右上角添加图示;
%注意是先plot图像,再设置以下坐标图释等
xlabel('x')
ylabel('y')
legend('sinx')
title('Plot of the Sine Function')
结果:

1.3更改图形外观、一个绘图窗口添加若干图形
通过在调用 plot 函数时包含可选的线条设定,可以更改线条颜色、线型或添加标记。例如:
':' 绘制点线。
'g:' 绘制绿色点线。
'g:*' 绘制带有星号标记的绿色点线。
'*' 绘制不带线条的星号标记。
符号可以按任意顺序显示。不需要同时指定所有三个特征(线条颜色、线型和标记
要将绘图添加到现有图窗中,
请使用 hold on。在使用 hold off 或关闭窗口之前,当前图窗窗口中会显示所有绘图。
x = linspace(0,2*pi,100);
y = sin(x);
plot(x,y,"b:") %设置第一条曲线外观
hold on %图形保持
y2 = cos(x);
plot(x,y2,'--ro') %设置第二条曲线外观
xlabel('x')
ylabel('y')
legend('sinx','cosx')
title('Plot of the Function')
hold off
结果:

1.4通过更改图形对象属性更改外观
创建一个线图。将创建的 Line 对象赋给变量 ln。显示画面上显示常用属性,例如 Color、LineStyle 和 LineWidth
x = linspace(0,2*pi,25);
y = sin(x);
ln = plot(x,y)
结果:
ln =
Line with properties:
Color: [0 0.4470 0.7410]
LineStyle: '-'
LineWidth: 0.5000
Marker: 'none'
MarkerSize: 6
MarkerFaceColor: 'none'
XData: [0 0.2618 0.5236 0.7854 1.0472 1.3090 1.5708 1.8326 ... ]
YData: [0 0.2588 0.5000 0.7071 0.8660 0.9659 1 0.9659 ... ]
Show all properties
要访问各个属性,请使用圆点表示法。例如,将线宽更改为 2 磅并将线条颜色设置为 RGB 三元组颜色值,在本例中为 [0 0.5 0.5]。添加蓝色圆形标记
%继以上代码
ln.LineWidth = 2;
ln.Color = [0 0.5 0.5];
ln.Marker = 'o';
ln.MarkerEdgeColor = 'b';
结果:

1.5添加网格线
grid on网格线显示在刻度线处
grid minor在刻度线之间添加次网格线
grid off 关闭所有网格线
x = linspace(0,2*pi,100);
y = sin(x);
plot(x,y)
grid on
grid minor
结果:

在特定方向显示网格线
通过访问 Axes 对象并设置 XGrid、YGrid 和 ZGrid 属性,可在特定方向显示网格线。这些属性可以设置为 'on' 或 'off'。
%以下示例仅在y轴添加刻度线
y = rand(10,1);
bar(y)
ax = gca;
ax.XGrid = 'off';
ax.YGrid = 'on';
结果:

1.6在一个图窗添加多个绘图区
方法一:subplot
先用subplot添加画布分区,再用plot或其他进行绘图。
x = linspace(0,2*pi,100);
y = sin(x);
subplot(211) %将画布分为二行一列,添加第一个绘图区
plot(x,y,"b:") %设置第一条曲线外观
xlabel('x')
ylabel('y')
legend('sinx')
subplot(212) %将画布分为二行一列,添加第二个绘图区
y2 = cos(x);
plot(x,y2,'--ro') %设置第二条曲线外观
xlabel('x')
ylabel('y')
legend('cosx')
结果:

方法二: tiledlayout+ nexttile
使用 tiledlayout 函数在单个图窗中显示多个坐标区。此函数将创建一个分块图布局,该布局将图窗分为一系列不可见的图块网格。每个图块可以包含一个用于显示绘图的坐标区。创建布局后,调用 nexttile 函数将坐标区对象放置到布局中。然后调用绘图函数在该坐标区中绘图
x = linspace(0,2*pi,100);
y1 = sin(x);
y2 = cos(x);
tiledlayout(2,1) %创建二行一列布局
% 第一个分区绘图
nexttile
plot(x,y1)
title('Plot 1')
% 第二个分区绘图
nexttile
plot(x,y2)
title('Plot 2')
结果:

2.创建三维图
方法一:plot3(x,y,z)
语法与说明:
t = 0:pi/50:10*pi;
st = sin(t);
ct = cos(t);
plot3(st,ct,t)
结果:

t = 0:pi/20:10*pi;
xt = sin(t);
yt = cos(t);
plot3(xt,yt,t,'o')
结果:

t = 0:pi/500:pi;
xt1 = sin(t).*cos(10*t);
yt1 = sin(t).*sin(10*t);
zt1 = cos(t);
xt2 = sin(t).*cos(12*t);
yt2 = sin(t).*sin(12*t);
zt2 = cos(t);
plot3(xt1,yt1,zt1,xt2,yt2,zt2)
结果:

方法二:mesh(x,y,z)+mesh(x,y),其中meshgrid的作用就是生成网格(矩阵)数据x,y
t = 0:pi/500:pi;
xt1 = sin(t).*cos(10*t);
yt1 = sin(t).*sin(10*t);
[xt1,yt1]=meshgrid(xt1,yt1)
zt1 = xt1+yt1.^2;
mesh(xt1,yt1,zt1)
结果:

方法三:surf(x,y,z)
t = 0:pi/500:pi;
xt1 = sin(t).*cos(10*t);
yt1 = sin(t).*sin(10*t);
[xt1,yt1]=meshgrid(xt1,yt1)
zt1 = xt1+yt1.^2;
surf(xt1,yt1,zt1)

注意方法二和方法三绘制出来的区别:
三维曲面图和三维网格图不同,其区别有:
(1)网线图:线条有颜色,内部是无颜色
(2)曲面图:线条是黑色的,内部有颜色(把线条之间的空挡填充颜色,沿z轴按每一网格变化)
利用shading渲染一下:
%继以上代码,添加下行
shading interp

方法还有很多,简单介绍以上基础,其他可以自行探索