我的图表包含许多半透明的等值面以显示密度。我选择70:140范围内的颜色:
vs=griddata(x,y,z,v,xs,ys,zs,'linear');
for i=70:5:140
p(i)=patch(isosurface(xs,ys,zs,vs,i));
isonormals(xs,ys,zs,vs,p(i));
rd=(i-70)/70;
set(p(i),'facealpha',0.5);
set(p(i),'FaceColor',[rd 0 1-rd],'EdgeColor','none'); % set colors
end;
alpha(0.3);
因此,这里的颜色从蓝色(密度= 70)到红色(密度= 140)不等。 如何从当前的colormap获取给定范围的颜色?
答案 0 :(得分:1)
答案 1 :(得分:0)
我不确定我到底知道你在问什么,但你也可以查看命令caxis
,它将根据当前colormap
的范围设置颜色的缩放比例。可以与hsv
之类的函数一起使用,将色彩映射设置为所请求的长度,并将值缩放到该范围内。
如同,
colormap(hsv(71));
caxis([70 140]);
patch(isosurface(x,y,z,v,c))
...