python – colorbar中的奇怪范围值,matplotlib
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – colorbar中的奇怪范围值,matplotlib,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1801字,纯文字阅读大概需要3分钟。
内容图文
![python – colorbar中的奇怪范围值,matplotlib](/upload/InfoBanner/zyjiaocheng/775/ed32ac2c23e744b0a50a6492f0deed4b.jpg)
我是python&的新用户. matplotlib,这可能是一个简单的问题,但我在互联网上搜索了几个小时,无法找到解决方案.
我正在绘制NetCDF格式的降水数据.我觉得奇怪的是,数据中没有任何负值.(我检查了很多次,只是为了确保).但是,colorbar中的值以负值开头(如-0.0000312等).它没有意义,因为我不对数据进行任何操作,其他只是从大文件中选择一部分数据并绘制它.
所以我的代码对此并不多.这是代码:
from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt
from netCDF4 import Dataset
cd progs
f=Dataset('V21_GPCP.1979-2009.nc')
lats=f.variables['lat'][:]
lons=f.variables['lon'][:]
prec=f.variables['PREC'][:]
la=lats[31:52]
lo=lons[18:83]
pre=prec[0,31:52,18:83]
m = Basemap(width=06.e6,height=05.e6,projection='gnom',lat_0=15.,lon_0=80.)
x, y = m(*np.meshgrid(lo,la))
m.drawcoastlines()
m.drawmapboundary(fill_color='lightblue')
m.drawparallels(np.arange(-90.,120.,5.),labels=[1,0,0,0])
m.drawmeridians(np.arange(0.,420.,5.),labels=[0,0,0,1])
cs=m.contourf(x,y,pre,50,cmap=plt.cm.jet)
plt.colorbar()
我得到的代码输出是一个漂亮的情节,颜色条从值-0.00001893开始,其余都是正值,我相信是正确的.它只是困扰我的最小值.
我想知道:
>我的代码有什么问题吗?我知道数据是对的.
>有没有办法手动将值更改为0?
>每次运行代码时,颜色栏中的值是否正确,相同数据的cos,下次运行代码时,值如下所示“-0.00001893,2.00000000,4.0000000000,6.00000000等”
>我想将它们自定义为“0.0,2.0,4.0,6.0等”
谢谢,
Vaishu
解决方法:
是的,您可以手动格式化有关颜色条的所有内容.看到这个:
import matplotlib.colors as mc
import matplotlib.pyplot as plt
plt.imshow(X, norm=mc.Normalize(vmin=0))
plt.colorbar(ticks=[0,2,4,6], format='%0.2f')
>许多绘图函数,包括imshow,contourf等,都包含一个带有Normalize对象的norm参数.您可以设置该对象的vmin或vmax属性以调整颜色条的相应值.
> colorbar采用刻度和格式参数来调整要显示的刻度以及如何显示它们.
内容总结
以上是互联网集市为您收集整理的python – colorbar中的奇怪范围值,matplotlib全部内容,希望文章能够帮你解决python – colorbar中的奇怪范围值,matplotlib所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。