2026a
# 二维图和三维图
# 线图
要创建二维线图,请使用 plot 函数。例如,绘制从 0 到 2π 的正弦函数值:
using TyPlot
x = 0:pi/100:2*pi;
y = sin.(x);
plot(x,y)
您可以标记轴并添加标题。
xlabel("x")
ylabel("sin(x)")
title("Plot of the Sine Function")
通过向绘图函数添加第三个输入参数,您可以使用红色虚线绘制相同的变量。
plot(x,y,"r--")
"r--" 是线条规范。每个规范都可以包含线条颜色、样式和标记的字符。标记是出现在每个绘制数据点处的符号,例如 +、o 或 *。例如 "b:+" 请求带有 + 标记的蓝色点线。
请注意,您为第一个图定义的标题和标签不再位于当前图形窗口中。默认情况下,每次调用绘图函数时,Syslab 都会清除图形,重置轴和其他元素以准备新图。
要将图添加到现有图形,请使用 hold("on")。在您使用 hold("off") 或关闭窗口之前,所有图都会出现在当前图形窗口中。
x = 0:pi/100:2*pi;
y = sin.(x);
plot(x,y)
hold("on")
y2 = cos.(x);
plot(x,y2,":")
legend("sin","cos")
hold("off")
# 三维图
三维线图图通常显示由两个变量的函数 z = f(x,y) 定义的曲面。
例如,对于给定的行向量和列向量 x 和 y,每个向量包含 [-2,2] 范围内的 20 个点,计算
using TyPlot
x = LinRange(-2,2,20)';
y = reshape(x,20,1);
z = x .* exp.(-x.^2 .- y.^2);
然后,创建一个表面图。
surf(x,y,z)
surf 函数及其配套 mesh 函数均以三维形式显示表面。surf 函数以彩色显示连接线和表面。mesh 函数生成仅对连接定义点的线着色的线框表面。
# 多个绘图
您可以使用 tiledlayout 或 subplot 函数在同一窗口的不同子区域中显示多个图。
subplot 函数的前两个输入表示每行和每列中的图数。第三个输入指定哪个图处于活动状态。例如,在图形窗口的 2×2 网格中创建四个图。
using TyPlot
sgtitle("Trigonometric Functions")
x = LinRange(0,30,100);
ax1 = subplot(2,2,1);
plot(x,sin.(x))
title(ax1, "Sine")
ax2 = subplot(2,2,2);
plot(x,cos.(x))
title(ax2, "Cosine")
ax3 = subplot(2,2,3);
plot(x,tan.(x))
title(ax3, "Tangent")
ax4 = subplot(2,2,4);
plot(x,sec.(x))
title(ax4, "Secant")
tightlayout()
