Main Content

二维图和三维图

线图

要创建二维线图,请使用 plot 函数。例如,绘制在从 0 到 2π 的值组成的线性间距向量上的正弦函数:

x = linspace(0,2*pi);
y = sin(x);
plot(x,y)

Figure contains an axes object. The axes object contains an object of type line.

可以标记轴并添加标题。

xlabel("x")
ylabel("sin(x)")
title("Plot of the Sine Function")

Figure contains an axes object. The axes object with title Plot of the Sine Function, xlabel x, ylabel sin(x) contains an object of type line.

通过向 plot 函数添加第三个输入参量,您可以使用红色虚线绘制相同的变量。

plot(x,y,"r--")

Figure contains an axes object. The axes object contains an object of type line.

"r--"线条设定。每个设定可包含表示线条颜色、样式和标记的字符。标记是在绘制的每个数据点上显示的符号,例如,+o*。例如,g:*" 请求绘制使用 * 标记的绿色点线。

请注意,为第一幅绘图定义的标题和标签不再被用于当前的图窗窗口中。默认情况下,每次调用绘图函数、重置坐标区及其他元素以准备新绘图时,MATLAB® 都会清空图窗。

要将绘图添加到现有图窗中,请使用 hold on。在使用 hold off 或关闭窗口之前,当前图窗窗口中会显示所有绘图。

x = linspace(0,2*pi);
y = sin(x);
plot(x,y)

hold on

y2 = cos(x);
plot(x,y2,":")
legend("sin","cos")

hold off

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent sin, cos.

三维绘图

三维图通常显示一个由带两个变量的函数 z=f(x,y) 定义的曲面图。例如,对于给定的行向量和列向量 xy,每个向量包含 [-2,2] 范围内的 20 个点,计算 z=xe-x2-y2

x = linspace(-2,2,20);
y = x';
z = x .* exp(-x.^2 - y.^2);

然后,创建曲面图。

surf(x,y,z)

Figure contains an axes object. The axes object contains an object of type surface.

surf 函数及其伴随函数 mesh 以三维形式显示曲面图。surf 使用颜色显示曲面图的连接线和面。mesh 生成仅以颜色标记连接线条的线框曲面图。

多个绘图

您可以使用 tiledlayoutsubplot 在同一窗口的不同部分显示多个绘图。

tiledlayout 函数是在 R2019b 中引入的,该函数比 subplot 提供更多对标签和间距的控制。例如,在图窗窗口中创建 2×2 布局。然后,每当您要某个绘图出现在下一区域中时,请调用 nexttile

t = tiledlayout(2,2);
title(t,"Trigonometric Functions")
x = linspace(0,30);

nexttile
plot(x,sin(x))
title("Sine")

nexttile
plot(x,cos(x))
title("Cosine")

nexttile
plot(x,tan(x))
title("Tangent")

nexttile
plot(x,sec(x))
title("Secant")

Figure contains 4 axes objects. Axes object 1 with title Sine contains an object of type line. Axes object 2 with title Cosine contains an object of type line. Axes object 3 with title Tangent contains an object of type line. Axes object 4 with title Secant contains an object of type line.

如果您使用的版本早于 R2019b,请参阅 subplot