MATLAB中如何删除contourf生成云图的黑色等高线?

 我来答
红人咸干饭胖胖
2016-05-21 · TA获得超过299个赞
知道小有建树答主
回答量:284
采纳率:0%
帮助的人:154万
展开全部
[X Y Z]=peaks; %生成一个二维高斯分布曲面代替你的数据
[c h]=contourf(X,Y,Z,5); %画的时候要保存返回的c h
hc=get(h,'Children'); %获得等值线填充对象
n=length(hc);
v=zeros(n,1);
s=zeros(n,1);
for i=1:n
x=get(hc(i),'xdata'); %第i个填充对象x数据
y=get(hc(i),'ydata'); %第i个填充对象y数据
l=length(x);
s(i)=sum((x([2:l,1]) - x).*(y([2:l,1]) + y))/2; %计算第i个填充对象面积
v(i)=get(hc(i),'UserData'); %获得第i个对象对应的等值
end
[v m n]=unique(v); %找出相同等值的对象
s=accumarray(n,s); %合拼他们的面积

v表示等值线的所在的等值
s表示等值线包围的大于这个等值部分的面积

我想你最终是想求两个等值之间的面积
所以求大于某值的面积和小于某值的面积都是可以的
就matlab自己返回的数句求大于某等值的面积比较简单
天黑来精神
2018-12-11
知道答主
回答量:3
采纳率:0%
帮助的人:2万
展开全部
contourf(x,y,z,'LineStyle','none')
或者
[C,h] =contourf(X,Y,data,100);
set(h,'LineColor','none')
结合你自己的语句适当修改变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Haizixin1973
2019-01-21
知道答主
回答量:1
采纳率:0%
帮助的人:785
展开全部
>> [C,h] =contourf(X,Y,Z,10);
>> set(h,'Linestyle','none')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
没睡一整天
2017-08-22
知道答主
回答量:1
采纳率:0%
帮助的人:964
展开全部
contourf(Z);

hold on
contour(Z);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式