0

我有一个相当复杂的绘图问题,我认为找到解决方案会很有趣。假设我有两个地块,编号 1:

该图是使用 plotyy 创建的。

和 2 号:

该图是使用 plot3(x, y, z, '.') 创建的

现在,复杂的部分是我想获取第 2 号情节,给它加水印并将其放在第 1 号情节后面。这将导致如下结果:

实际上,我想展示的是情节 1 是由看起来像情节 2 的数据制成的。现在我无法找到如何做到这一点,所以它甚至可能不可能,但如果可以做到,那么它会成为一个很好的堆栈溢出教程!

4

1 回答 1

3

您可以这样做,但需要一些工作才能将轴格式化,以便它们看起来不错。

您需要做的是将一个axes对象放在另一个对象之上axes;但是,为了防止顶部axes遮挡底部,您需要将'Color'顶部axes对象的属性设置为'none'.

这是一个示例脚本,它生成类似于您正在寻找的内容

f = figure;
axes();
x = rand(100,3)*3 + 3;
plot3(x(:,1), x(:,2), x(:,3),'.');

axes('Color', 'none');
x = -5:5;
y = x.^2;
line(x,y, 'Color', 'r', 'LineWidth', 2);

这是结果图: 在此处输入图像描述

如果您不喜欢这个结果,您可以尝试将 3D 数据投影到 2D 中,然后将该投影绘制为线条后面的图像。这是一个关于如何创建 2D 投影的讨论的链接。

于 2012-08-22T03:29:47.850 回答