我有一个相当复杂的绘图问题,我认为找到解决方案会很有趣。假设我有两个地块,编号 1:
该图是使用 plotyy 创建的。
和 2 号:
该图是使用 plot3(x, y, z, '.') 创建的
现在,复杂的部分是我想获取第 2 号情节,给它加水印并将其放在第 1 号情节后面。这将导致如下结果:
实际上,我想展示的是情节 1 是由看起来像情节 2 的数据制成的。现在我无法找到如何做到这一点,所以它甚至可能不可能,但如果可以做到,那么它会成为一个很好的堆栈溢出教程!
您可以这样做,但需要一些工作才能将轴格式化,以便它们看起来不错。
您需要做的是将一个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 投影的讨论的链接。