爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 21487|回复: 13

[求助] 求助!!通过cinrad绘制雷达图遇到特难对付的问题

[复制链接]

新浪微博达人勋

发表于 2021-9-15 16:22:17 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 东水兽 于 2021-9-15 16:39 编辑

问题1:无论是用bz2数据还是PUP数据,调用PPI函数绘制图像,无法出现右下角的colorbar以及右上角的雷达资料的一些text,图1是我读bz2数据绘制的图像,图2是我读PUP的CR 38数据的图像。

这是绘制图1的代码
  1. import matplotlib.pyplot as plt
  2. import cinrad

  3. f = cinrad.io.CinradReader('Z_RADR_I_Z9519_20150428000300_O_DOR_SA_CAP.bin.bz2')
  4. r = f.get_data(0, 230, 'REF')
  5. fig = cinrad.visualize.PPI(r, dpi=75, add_city_names=True)
  6. plt.show()
复制代码
这是绘制图2的代码
  1. import cinrad
  2. from cinrad.visualize import PPI
  3. from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER

  4. # pup组合反射率数据读取
  5. # CR 38
  6. file_name = '20150428.000342.00.38.519'
  7. radar = cinrad.io.PUP(file_name)
  8. data = radar.get_data()
  9. fig = PPI(data, dpi=75, add_city_names=True)  # 绘制基本反射率图片

  10. PPI.plot_range_rings(fig, [0, 50, 100, 150, 200, 250, 300], color='red', linewidth=0.8)
  11. # 设置网格
  12. gl = fig.geoax.gridlines(draw_labels=True, linewidth=1.2, color='white', alpha=0.5, linestyle='--')
  13. gl.xlabels_top = False  # 关闭顶端标签
  14. gl.ylabels_right = False  # 关闭右侧标签
  15. gl.xformatter = LONGITUDE_FORMATTER  # x轴设为经度格式
  16. gl.yformatter = LATITUDE_FORMATTER  # y轴设为纬度格式
复制代码

问题2:在绘制图2的时候,我想添加x、y轴坐标,但是结果显示的不全,尤其是x坐标,而且网格线的投影方式好像是兰波托投影,我尝试通过cartopy的ccr去改投影方式,但是还是不行,图3反应的就是这种情况,代码还是上面的图2代码,我只是拖动了一下。

问题3:仍然是绘制图2的时候,如何添加边框,只画规定经纬度的区域的底图和图像呢?我尝试规定了经纬度,但是没有效果,代码如下:
  1. fig = PPI(data, dpi=75, add_city_names=True, extent=[116, 124, 28, 32])  # 绘制基本反射率图片
复制代码


图1 bz2数据雷达图.png
图2 PUP的组合反射率图像.png
图3 坐标显示问题.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-10-17 22:26:37 | 显示全部楼层
请问您解决了吗?我同样遇到这个问题,而且画不出来黑底
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-10-18 12:06:48 | 显示全部楼层
GZH2021 发表于 2021-10-17 22:26
请问您解决了吗?我同样遇到这个问题,而且画不出来黑底

画不出黑底的话再运行一次就行,至于信息栏没出来我也没解决
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-10-18 22:11:16 | 显示全部楼层
东水兽 发表于 2021-10-18 12:06
画不出黑底的话再运行一次就行,至于信息栏没出来我也没解决

不需要加style=‘black’类似的代码,也能画黑底吗?我只能画出白底,是不是雷达数据文件的问题呢
我看到您的雷达数据文件缀名是  bin.bz2,我的是bin格式的
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-10-18 23:36:44 | 显示全部楼层
东水兽 发表于 2021-10-18 12:06
画不出黑底的话再运行一次就行,至于信息栏没出来我也没解决

好的~暂时解决了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-10-19 08:38:18 | 显示全部楼层
本帖最后由 东水兽 于 2021-10-19 08:39 编辑
GZH2021 发表于 2021-10-18 22:11
不需要加style=‘black’类似的代码,也能画黑底吗?我只能画出白底,是不是雷达数据文件的问题呢{:eb303 ...

反正加了也没用哈哈哈哈,甚至改了源代码也没用。至于数据格式,其实大同小异,只要是S波段的数据就行。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-10-20 09:40:47 | 显示全部楼层
#composite
#塘沽36.5
f = cinrad.io.StandardData(r'./Z_RADR_I_Z9220_20210819000000_O_DOR-xxxxxxxxxxxx.bin.bz2')
#塘沽37.5
#f = cinrad.io.StandardData(r'D:\working\Radar_tianjin\data\Z_RADR_I_Z9220_20210819000000_O_DOR-CUT_SA_CAP_15_3_FMT.bin.bz2')
rl = list(f.iter_tilt(230, 'REF'))
# #组合反射率
cr = cinrad.easycalc.quick_cr(rl,resolution=[230, 366])
#cr = cinrad.calc.quick_cr([f.iter_tilt(i, 400, 'REF') for i in f.angleindex_r])
# #ppi出图
fig = cinrad.visualize.PPI(cr, dpi=999, add_city_names=True)
fig.plot_range_rings([50, 100, 150, 200, 230])
fig("./test1.png")


我这样成功过,帮助你一下
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-10-20 10:07:51 | 显示全部楼层
58230atmos 发表于 2021-10-20 09:40
#composite
#塘沽36.5
f = cinrad.io.StandardData(r'./Z_RADR_I_Z9220_20210819000000_O_DOR-xxxxxxxxx ...

好像没有用诶,因为画图的语句没有变化啊
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-12-2 15:59:11 | 显示全部楼层
同问,我用bin数据也出不来colorbar和雷达信息
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-12-31 20:54:06 | 显示全部楼层
一样的问题,有解决方案没?看了两天的源代码,基础太差,没找到问题
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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