在特定z值的曲面图中添加一条线

时间:2017-01-26 14:56:40

标签: matlab matlab-figure

我正在尝试在z = 0.5处为以下surf图绘制一条线。代码很简单,但现在我想在surf图中包含一行0.5,例如。我的参数是XqYqVq,我将其输入到MATLAB的surf命令中。 XqYqVq都是meshgrid生成的2001x4001矩阵。在给定特定容差的情况下,我发现Vq中的点等于0.5,并且我使用x和y坐标离开了find命令,但是我从这里输掉了。

实现这一目标的最佳方法是什么?

enter image description here

1 个答案:

答案 0 :(得分:2)

您可以使用contour3绘制表面等于0.5的线条。您可以使用第四个输入参数指定您想要Vq为0.5的3D线。

% Load in some sample data
[Xq, Yq, Vq] = peaks();

% Plot your surface
surf(Xq, Yq, Vq, 'EdgeColor', 'none');
hold on

% Now plot the 3D contour
contour3(Xq, Yq, Vq, [0.5 0.5], 'k');

enter image description here

如果您想获得与该轮廓相关联的XqYq值,您可以使用输出调用contour3,该输出将返回与此关联的ContourMatrix轮廓

values = contour3(Xq, Yq, Vq, [0.5 0.5], 'k');