3

我有一个从一组数据位置插值的彩色等高线图。我想在等高线图的顶部显示数据位置。出于某种原因,当我将它们绘制在一起时,彩色等高线图总是会掩盖数据位置。我先绘制哪个并不重要。

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

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

在此处输入图像描述

4

1 回答 1

6

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

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

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

    设置(gcf,'渲染器','opengl')设置(gcf,'渲染器','画家')设置(gcf,'渲染器','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 和中间的图形系统。订购这些不同种类的物品有时需要一些帮助。

于 2011-11-17T06:28:16.370 回答