如何使等高线透明——在matlab R2015a吗?

44视图(30天)
ilupi
ilupi 2015年10月22日
回答: 将授予 2021年8月31日
你好,我怎么能让几个contourf情节是透明的吗?我试着facealpha但轮廓类没有facealpha属性。有另一种方式让contourf情节透明吗?

答案(4)

帕特丽夏Handmann
帕特丽夏Handmann 2017年11月1日
有一些新闻2017年Matlab如何做到这一点的一种很好的方式吗?
1评论
Thoralf斯坦
Thoralf斯坦 2019年4月4日
( ~,hContour ] = contourf ( 山峰 ( 20. ) , 10 ) ;
drawnow ; %这是很重要的,以确保FacePrims准备下一行!
hFills = hContour。 FacePrims ; % TriangleStrip对象的数组
( hFills。 ColorType ] =交易 ( “truecoloralpha” ) ; %默认=“真彩”
idx = 1 :元素个数 ( hFills )
hFills ( idx ) ColorData ( 4 ) = 150年 ; %默认= 255
结束

登录置评。



沃尔特·罗伯森
沃尔特·罗伯森 2015年10月22日
没有已知的方法在R2014b R2015a,或R2015b,除了自己画等高线图使用补丁等原语()
在足够旧版本contourf补丁对象创建的AlphaData或FaceAlpha可以调整。之前的版本有点R2014b,轮廓()和contourf()产生αcontourgroup对象不可能的调整。那个时代的变通方法是使用contour3()仍然生成补丁对象,和黑客创建的ZData移除一些南阻止的面孔。(我有一个脚本,这地方。)
3评论
沃尔特·罗伯森
沃尔特·罗伯森 2017年2月22日
不幸的是,至少R2016b,没有α为轮廓对象属性实现。

登录置评。


鲍里斯Belousov
鲍里斯Belousov 2016年2月25日
作为一个可能的解决方案,您可以手动定义一个区域的轮廓你想要透明。这里是一个例子,等高线图的一部分是使用另一个等高线图阴影。
%轴
X = 1:8;
Y = 1:9;
%等高线图和四个层次和三个轮廓线
Z = [1 1 1 1 1 0 0 0;
1 1 1 1 1 0 0 0;
1 1 1 1 1 0 0 0;
1 1 1 1 1 1 0 0;
1 1 1 1 1 1 0 0;
2 2 1 1 1 1 1 0;
2 2 2 1 1 1 1 1;
3 2 2 2 2 2 1 1;
3 3 3 3 2 2 1 1);
%顶层,色调的阴谋的一部分
Z_f = [0 0 0 0 0 0 0 1);
0 0 0 0 0 0 0 1;
0 0 0 0 0 0 1 1;
0 0 0 0 0 0 1 1;
0 0 0 0 0 0 1 1;
0 0 0 0 0 1 1 1;
0 0 0 0 1 1 1 1;
0 0 0 0 1 1 1 1;
0 0 1 1 1 1 1 1];
%得到轮廓的顶层补丁并关闭图
C = contourf (Z_f“LevelList”,0.5);关闭所有
通过添加两个额外的点%关闭轮廓
x = [C(1、2:结束),x(结束),x(结束)];
y = [C(2, 2:结束),y (1), y(结束)];
%等高线图
contourf (Z,“LevelList”[0 0.5 1.5 2.5]);
%透明补丁
持有
填充(x, y,“米”,“FaceAlpha”,0.5);
持有

类别

找到更多的在照明、透明度和阴影帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!