2017-06-13 104 views
1

是否可以擦除绘图区域,而不需要直接处理输入到绘图的数据(后验)?matlab擦除区域绘图后验

E.g.在y = x以下的区域保留上面的区域。

+0

不知道如何,但什么样的情节?只是线?也许一个示例图,用代码来生成它会很有用(编辑你的问题) – Steve

+0

有几种方法可以这样做,但哪一个最好,很大程度上取决于你想要隐藏的是什么?它有什么形状?它是否受函数限制?它与坐标轴中的位置有关吗?你如何定义要隐藏的区域? – EBH

+0

我目前正在使用等值线图,并且我想要隐藏低于某个曲线的绘图级别的部分,那很可能是y = x – Peter

回答

2

您可以使用area白色外观颜色空白给定线以下的地块面积:

t = linspace(0,20,500); 
plot(t, sin(t)) % example plot 
yl = ylim; 
hold on 
y = .4 - t * .05; % example limit line 
area(t, y, yl(1), 'Facecolor', 'w', 'edgecolor', 'none'); 

enter image description here

+0

什么是yl或ylim? – Peter

+1

'ylim'返回y轴的极限。这些被分配给变量'yl',以便它们可以在以后创建的区域中使用。 – Wolfie

+0

对不起,它不起作用。它会删除ylim下面的所有内容(这是一个数字)。但不低于y,这是曲线 – Peter

1

这里有一个方式,通过必要的东西密谋做到这一点,与nan取代所有其他值:

[X,Y,Z] = peaks; 
Z(X>Y) = nan; 
contour(X,Y,Z,20) 

covered_contour