matlab中countourf如何设置颜色?

我想调整contourf图的颜色。大于零的部分取红色,小于零的部分取蓝色。数值越大,颜色越深;数值越小,颜色越浅。请问各位大神,如何才能做到呢?... 我想调整contourf图的颜色。大于零的部分取红色,小于零的部分取蓝色。数值越大,颜色越深;数值越小,颜色越浅。请问各位大神,如何才能做到呢? 展开
 我来答
dukinkin
推荐于2016-11-19 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2444
采纳率:90%
帮助的人:943万
展开全部
%---------------------------以下构造蓝色~红色的colormap
n=[1 42 127 211 252];        
J = zeros(252,3);
%-----------------------------------------------R
J(n(2):n(3),1) =linspace(0,1,n(3)-n(2)+1);
J(n(3):n(4),1) =1;
J(n(4):n(5),1) =linspace(1,0.5,n(5)-n(4)+1);
%-----------------------------------------------G
J(n(2):n(3),2) =linspace(0,1,n(3)-n(2)+1);
J(n(3):n(4),2) =linspace(1,0,n(4)-n(3)+1);
%-----------------------------------------------B
J(n(1):n(2),3) =linspace(0.5,1,n(2)-n(1)+1);
J(n(2):n(3),3) =1;
J(n(3):n(4),3) =linspace(1,0,n(4)-n(3)+1);
%----------------------------------------------------------
rz=get(gca,'clim'); %获得当前数值范围
rz=max(abs(rz));    %正负范围绝对值最大值
set(gca,'clim',[-rz rz]); %设置对称范围
colormap(J);%使用J作为colormap


这上面这些代码放在你原来画图的代码之后

前面生成J矩阵就是红蓝颜色的colormap


最后四句是改用新的J作为colormap

因为要0点刚好在中间,所以要设置颜色映射范围是正负对称的


以下是用这个colormap画出的图的例子

疾风动竹
2014-12-15 · TA获得超过3.2万个赞
知道大有可为答主
回答量:7695
采纳率:86%
帮助的人:1585万
展开全部
colormap自己编数组
追问
那要实现上面描述的目的,应该怎么写呢?特别是大于零的取红色,小于零的取蓝色。
追答
你可以看下help rgb值三列n行的控制颜色渐变
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式