如何使等高线透明——在matlab R2015a吗?
44视图(30天)
显示旧的评论
答案(4)
帕特丽夏Handmann
2017年11月1日
有一些新闻2017年Matlab如何做到这一点的一种很好的方式吗?
1评论
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移除一些南阻止的面孔。(我有一个脚本,这地方。)
鲍里斯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);
持有从