求助!!!用matlab mesh画图,不想用默认的根据Z值高低填充颜色,希望能按我规定的区域填充不同色彩

来自:    更新日期:早些时候
求助!!!用matlab mesh画图,不想用默认的根据Z值高低填充颜色,希望能按我规定的区域填充不同色彩~

sh(x,y,z,R); %按R填色
R是和z同维的矩阵,R可以自己规定。 默认填色时,颜色是渐变过渡的,所以R中需要深的地方的数值大,浅的地方数值小。

clear all[X,Y] = meshgrid(-3:.0625:3);Z = peaks(X,Y);%生成数据z[x,y]=meshgrid(1:97);%为了举例方便生成坐标figure(1)mesh(x,y,Z);colorbar
xR=[10,50];%设置x范围yR=[40,50];%设置y范围
z1=Z.*(x>=xR(1)&x=yR(1)&y<=yR(2));%为取出设定范围数据重新赋值而得到逻辑数组z2=Z;%为不覆盖原始Z,新建变量z2(z1(:)==1)=-5;%设定范围改为蓝色%对取出范围内的数据重新赋值,生成用于着色的数组%由于mesh函数不管怎样都只能用同一个colormap,所以你能改变的颜色必须在你使用的colormap中%在figure(1)中的colorbar中读取颜色对应的值,可以大约的估计,6,3,-1,-5可以对应红,黄,孔雀蓝,蓝色。%如果你要改变的颜色不在你所用的colormap中,那你只能编辑colormap了。例如黑色,不在jet中,你就要自己编辑了。
figure(2)mesh(x,y,Z,z2);colorbar



mesh(x,y,z,R); %按R填色
R是和z同维的矩阵,R可以自己规定。 默认填色时,颜色是渐变过渡的,所以R中需要深的地方的数值大,浅的地方数值小。

学习下

阿迪王

还想问下,已知x,y,z三个矩阵能否用mesh画出三位图?我画的不是错误就是奇怪的出现了不属于z中的值
那要看你x,y,z的具体数据

貌似不是标准的格子点。。。需要插值应该。求例子,最好能有解释,谢谢
把你的点拿来,就可以做例子了。

数据不太好复制,哥们能给个Q号吗?谢谢,我Q:530631997
简单的一个示例,看符合你的要求不。
>> [x,y,z]=peaks; %示例曲面
>> R=sqrt(x.^2+y.^2);%给曲面着色的示例矩阵,也就是按R中的值来着色
>> figure(1);mesh(x,y,z); %示例曲面的默认作图,按z值着色
>> figure(2);mesh(x,y,R);%着色矩阵的默认作图,按R这着色
>> figure(3);mesh(x,y,z,R);%示例曲面z的三维图,按R值着色。
自己比较一下三个图的区别,看看是不是你想要的。


求助!!!用matlab mesh画图,不想用默认的根据Z值高低填充颜色,希望能按我规定的区域填充不同色彩视频

相关评论:

相关主题精彩

版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

Copyright © 喜物网