将行对象放在MATLAB的顶部

ast*_*y13 3 matlab plot line contour

我有一个彩色轮廓图,它是从一组数据位置插入的.我想在等高线图上显示数据位置.出于某种原因,当我将它们绘制在一起时,彩色等高线图总是会覆盖数据位置.我首先绘制哪一个并不重要.

为什么是这样?我如何强制将数据点绘制在顶部?

编辑:这是一张图片(三角形中间还有更多的点):

在此输入图像描述

Pur*_*uit 6

在这种情况下,有几件事需要检查.很抱歉重复你已经尝试过的任何事情.

  1. 确保hold on已设置,以便您实际绘制两个数据集.

  2. 尝试使用不同的渲染器.也就是说,尝试以下,一次一个.

    set(gcf,'renderer','opengl')set(gcf,'renderer','painters')set(gcf,'renderer','zbuffer')

    请注意,这些渲染选项之间还有其他交易.例如,我怀疑'画家'可能提供最好的渲染,但更新速度非常慢,而且几乎不可能(例如)旋转.

  3. 这是一个很长的镜头,但尝试简单地让你的标记更大.也就是说,替换

    plot3(xdata, ydata, xdata, '.')

    plot3(xdata, ydata, zdata, '.', 'markersize', 50)

  4. 如果这是2D绘图(我从编辑中看到它是),那么您可以使用第三维来强制正确的顺序.所有2D项目实际上以3D绘制,Z = 0.因此,如果您希望标记在曲面上方绘制,则可以替换:

    plot(xdata, ydata, 'o')

    plot3(xdata, ydata, 0.1, 'o')

    表面和线条被认为是非常不同的物品b Matlab和相互作用的图形系统.订购这些不同类型的物品有时需要一些帮助.