如何在先前在 MATLAB 中绘制的内容之上绘制数据点?
例如,我有一个平面和点的二维图,在我用 pcolor 绘制平面之后,我用 scatter3 绘制点,并且平面覆盖了它下面的点。
在第一张图片中,您可以自己看到这些点。但是当我将它们与平面一起绘制时,平面覆盖了它下面的点。
谢谢
如何在先前在 MATLAB 中绘制的内容之上绘制数据点?
例如,我有一个平面和点的二维图,在我用 pcolor 绘制平面之后,我用 scatter3 绘制点,并且平面覆盖了它下面的点。
在第一张图片中,您可以自己看到这些点。但是当我将它们与平面一起绘制时,平面覆盖了它下面的点。
谢谢
问题是您正在使用scatter3
而不是scatter
它正在线性绘制第 3 维,这就是为什么点在中途消失的原因。他们实际上就在你的飞机后面。
用于uistack
将数据点放在平面图的顶部。就像是
p1 = plot(...); % plot of data points (need to be on top of plane)
hold on;
p2 = plot(...); % plot of the plane
uistack(p1); % to bring data points on top of the plane
试试hold on
。有关更多信息,请参阅http://www.mathworks.co.uk/help/matlab/ref/hold.html。