请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4511|回复: 12

[程序设计] matlab contourf 颜色不对应

[复制链接]

新浪微博达人勋

发表于 2021-2-2 22:49:06 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 穿越的小瓶子 于 2021-2-2 22:53 编辑

我用contourf画了一个等值线图,但是无论怎么调试色板的范围,图片都只显示蓝色,而且点击其中的数据明显可以看到和色标不对应。我查了好多资料也找不出问题。求各位大佬帮我看一看吧呜呜~

这是这个子图对应的代码:
f4=subplot(4,2,4);
[x,y]=meshgrid(100:2000,h(1:250));   
contourf(x,y,Zdr(1:250,100:2000),'linestyle','none');
% colormap jet(14);   %更改颜色方案
lim = caxis;
caxis([0 1]);
% colorbar('position',[0.893 0.07 0.02 0.21]);%colorbar最左下角点的横坐标、纵坐标、宽度、高度
set(get(colorbar,'label'),'string','Zdr(dBz)');
ylim([400,8000]);
xlabel('Time(s)') ; ylabel('Height(m)');
set(gca, 'Fontname', 'Times newman', 'Fontsize', 14);%设置图片的字体类型和字号大小的。set(gca,'Position',[.08 .06 .34 .2]);
dim4 = [0.09 0.18 0.1 0.1];
str4 = {'(d)'};
h4 = annotation('textbox',dim4,'String',str4,'FitBoxToText','on');
h4.LineStyle = 'none';
h4.FontSize = 16;
hold on;




微信图片_20210202225056.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-2-3 11:47:42 | 显示全部楼层

回帖奖励 +2 金钱

你可以先colormap(jet);colorbar;%jet 可以替换成你稀饭的颜色
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-2-3 23:40:52 | 显示全部楼层
何佳田力 发表于 2021-2-3 11:47
你可以先colormap(jet);colorbar;%jet 可以替换成你稀饭的颜色

试了之后也没有解决问题耶,不过还是很谢谢您啦!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-2-4 08:25:32 | 显示全部楼层

回帖奖励 +2 金钱

我感觉是你的范围设定太大了,你尝试着设定小一点的颜色范围?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-2-4 14:36:11 | 显示全部楼层
angetina 发表于 2021-2-4 08:25
我感觉是你的范围设定太大了,你尝试着设定小一点的颜色范围?

我试过了,无论调多小的范围,还是始终这个蓝色,没用的
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-2-4 19:35:08 | 显示全部楼层
我用你的代码跑了一下,还是有变化的,h和zdr我是用随机数生成的。
h=rand(1,250)*1000;
[x,y]=meshgrid(100:2000,h(1:250));
Zdr=rand(250,1901);
contourf(x,y,Zdr,'linestyle','none');
% colormap jet(14);   %更改颜色方案
lim = caxis;
caxis([0 1]);
set(get(colorbar,'label'),'string','Zdr(dBz)');
ylim([0,1000]);
xlabel('Time(s)') ; ylabel('Height(m)');
set(gca, 'Fontname', 'Times newman', 'Fontsize', 14);%设置图片的字体类型和字号大小的。set(gca,'Position',[.08 .06 .34 .2]);
dim4 = [0.09 0.18 0.1 0.1];
str4 = {'(d)'};
h4 = annotation('textbox',dim4,'String',str4,'FitBoxToText','on');
h4.LineStyle = 'none';
h4.FontSize = 16;
hold on;
你看一下
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-2-4 19:39:33 | 显示全部楼层
有可能是你0-0.5的数据比较多,而0.5-1的数据比较少,然后被覆盖了,你试试调下颜色
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-2-4 22:55:12 | 显示全部楼层
angetina 发表于 2021-2-4 19:39
有可能是你0-0.5的数据比较多,而0.5-1的数据比较少,然后被覆盖了,你试试调下颜色

我之前就换了很多色板,都没用唉。不过非常感谢您的帮助!!!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-2-4 23:00:15 | 显示全部楼层
angetina 发表于 2021-2-4 19:35
我用你的代码跑了一下,还是有变化的,h和zdr我是用随机数生成的。
h=rand(1,250)*1000;
[x,y]=meshgrid ...

嗯呢,代码应该是没有问题的,我画其他子图时很正常的。唯独这个总是很奇怪,我现在换用NCL能有色差出来了。虽然现在我还是不明白用Matlab处理到底哪里出bug了。感谢感谢十分感谢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 成长值: 32430
发表于 2021-2-6 17:22:57 | 显示全部楼层

回帖奖励 +2 金钱

这只是一部分代码,不知道后面也没有调整caxis 的代码。希望下次可以放出来完整的代码供大家分析。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表