在Matlab中绘制2D绘图背后的数据

时间:2012-08-21 22:49:32

标签: matlab plot

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

这个情节是使用plotyy创建的。

第2名:

该图是使用plot3(x,y,z,'。')

创建的

现在,复杂的部分是我想取第2号地块,给它加水印并将它放在第1号地块后面。这会产生这样的结果:

实际上,我希望展示的是情节1是由看起来像情节2的数据制作的。现在我还没有找到如何做到这一点所以它甚至可能不可能,但是如果可以做到的话那么堆栈溢出就是一个很好的教程!

1 个答案:

答案 0 :(得分: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);

这是一个示例脚本,可以生成类似于您要查找的内容

{{1}}

以下是结果图: enter image description here

如果您不喜欢这样做,您可以尝试将3D数据投影到2D中,然后将该投影绘制为线条后面的图像。这是关于如何创建2D投影的link to a discussion