2026b
# linkaxes
同步多个坐标区的范围
函数库: TyPlot
# 语法
linkaxes(ax)
linkaxes(ax,dimension)
# 说明
linkaxes(ax) 同步指定的坐标区向量的范围。同步范围允许您在一个绘图或图窗中缩放或平移,并在另一个绘图或图窗中显示相同的数据范围。当您第一次调用 linkaxes 时,该函数选择的新范围涵盖所有指定坐标区的当前范围。示例
linkaxes(ax,dimension) 同步指定坐标区维度的坐标区范围。例如,linkaxes(ax,"x") 仅同步 x 轴的范围。示例
# 示例
同步和更改坐标轴范围
using TyPlot
ax1 = subplot(3, 1, 1);
x1 = LinRange(0, 6, 100);
y1 = sin.(x1);
plot(x1, y1)
ax2 = subplot(3, 1, 2);
x2 = LinRange(0, 10, 100);
y2 = 2 * sin.(2 * x2);
plot(x2, y2)
ax3 = subplot(3, 1, 3);
x3 = LinRange(0, 12, 200);
y3 = 4 * sin.(6 * x3);
plot(x3, y3)
同步每个绘图的 x 轴和 y 轴范围。请注意,新坐标区范围涵盖了旧范围。
linkaxes([ax1, ax2, ax3], "xy")
为第一个绘图设置 x 轴范围。所有坐标区均已链接,因此第二个绘图和第三个绘图中的 x 轴范围也会更改。
ax1.set_xlim([0, 4.5])

同步 x 轴范围并显示共享轴标签
在 2×1 分块图布局中创建两个绘图。通过调用 linkaxes 函数来同步 x 轴范围。
using TyPlot
x1 = LinRange(0, 20, 100);
y1 = sin.(x1);
x2 = 3:17;
y2 =[0.8147 0.9058 0.1270 0.9134 0.6324 0.0975 0.2785 0.5469 0.9575 0.9649 0.1576 0.9706 0.9572 0.4854 0.8003];
ax1 = subplot(2, 1, 1);
plot(ax1, x1, y1);
ax2 = subplot(2, 1, 2);
stem(ax2, x2, y2)
linkaxes([ax1, ax2], "x")
通过调用 xticklabels 函数,删除顶部绘图中的 x 轴刻度标签。
xticklabels(ax1, [])
xlabel("Input")

# 输入参数
ax-目标坐标区Axes对象的向量
目标坐标区,指定为 Axes 对象向量。linkaxes 函数仅支持二维笛卡尔坐标区。
您可以链接任意多个 Axes 对象。例如,linkaxes([ax1 ax2 ax3]) 链接 ax1、ax2 和 ax3。
dimension-要同步的范围"xy" (默认) | "x" | "y" | "off"
要同步的范围,指定为下列值之一:
"xy" - 同时同步 x 轴和 y 轴范围;
"x" - 仅同步 x 轴范围;
"y" - 仅同步 y 轴范围;
"off" - 关闭同步。