- 积分
- 1240
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2016-4-19
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
想用Cinrad绘制HCL剖面的时候,发现报错图1,显示KeyError,打开源程序发现没有HCL的剖面colormap(图2)。我自作聪明把cmap_plot的HCL的cmap添加到sec_plot中(图3),程序不报错了,但绘制出来的图是有问题的(图4),想必还是cmap的问题。不知道各位有没有什么好的解决办法,或者有幸作者大大能看到的话,能不能更新一下HCL剖面绘制的cmap。代码如下
import cinrad
from cinrad.io import CinradReader, StandardData
from cinrad.visualize import PPI
import matplotlib.ticker as mticker
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
ele = 0 #第1个仰角
radius = 230 #绘制图像的范围大小
if __name__ == '__main__':
#f = CinradReader('D:/Z_RADR_I_Z9311_20201121031200_O_DOR_SAD_CAP.bin.bz2') #老版本数据
f = StandardData('D:/radardata/Z_RADR_I_Z9000_20201116073600_O_DOR_SA_CAP.bin.bz2') #老版本数据
#[f.get_data(i, 230, 'REF') for i in f.angleindex_r]
ref = list(f.iter_tilt(230, 'REF'))
zdr = list(f.iter_tilt(230, 'ZDR'))
rho = list(f.iter_tilt(230, 'RHO'))
kdp = list(f.iter_tilt(230, 'KDP'))
hylist = []
for i in range(8):
hy = cinrad.calc.hydro_class(ref, zdr, rho, kdp)
hylist.append(hy)
#rl = list(f.iter_tilt(230, 'RHO'))
vcs = cinrad.calc.VCS(hylist)
sec = vcs.get_section(start_cart=(114, 41.3), end_cart=(115, 41.3)) # 传入经纬度坐标
#fig = cinrad.visualize.PPI(rl[ele]) #0代表第1个仰角
#cr = cinrad.calc.quick_cr(rl)
fig = cinrad.visualize.PPI(hylist[0])
fig.plot_range_rings(radius, color='white', linewidth=1.0) #绘制圆圈
for i in range(0,radius-30,50):
fig.plot_range_rings(i, color='white', linewidth=1.0) #绘制圆圈
fig.plot_cross_section(sec) #绘制垂直剖面
"""
设置经纬度
"""
liner = fig.geoax.gridlines(draw_labels=True,linewidth=2, color='gray', alpha=0.5, linestyle='--')
liner.xlabels_top = False
liner.ylabels_right = False
liner.xformatter = LONGITUDE_FORMATTER
liner.yformatter = LATITUDE_FORMATTER
liner.xlabel_style = {'size': 10, 'color': 'white'}
#liner.xlabel_style = {'color': 'red', 'weight': 'bold'}
liner.ylabel_style = {'size': 10, 'color': 'white'}
#保存图像
fig('D:\\')
|
|