无法在冲浪图上绘制线-线已分割

时间:2018-10-24 11:32:56

标签: matlab plot annotations line surf

我试图在Matlab的冲浪图上绘制一条线,但该线在某些区域变得支离破碎。 我正在尝试创建线条或正方形以分隔不同的数据块。我尝试使用注解进行操作,在那里,线条没有被分割,但是对我来说很难将矩形定位在确切的位置。

如果有使用线不被打断的解决方案,或者是一种创建矩形的方法,而您只需要输入起始X和终止X,那将是完美的。

mat=rand(4,125);
surf(mat');
meshgrid(-5:0.5:5);
view(2);
hold on
line([2 2],[1 140],'LineWidth',8,'Color',[1 0 0])

1 个答案:

答案 0 :(得分:1)

两个图形对象,曲面和直线都在XY平面上绘制,因此,一旦其z值高于曲面图的z值,您就会看到该直线,反之亦然如果表面z高于线z

您可以通过添加z偏移量来避免在该平面上画线,从而避免出现此问题:

mat=rand(4,125);
h = surf(mat');              % Save the handle of your surface object
meshgrid(-5:0.5:5);
view(2);
hold on
z_max = max(max(get(h,'ZData')));   % get max z value of surface plot

% Now plot your line in an z_plane above the highest surf point
line([2 2], [1 140], z_max*ones(1,2)+1, 'LineWidth', 8, 'Color', [1 0 0])

现在,线条始终位于曲面图的顶部

enter image description here