我正在尝试使用MetPy和ContourPlot生成等压线。我使用自己的netCDF文件中的压力数据。背景热图已正确生成,但是对于轮廓来说,似乎存在一种插值错误。有谁知道如何解决水平白线的问题?
这是我用于绘图生成的代码:
cams = xr.open_dataset('20191129.nc')
contour = ContourPlot(clabels=True)
contour.data = cams
contour.field = 'PN'
contour.time = datetime.strptime('2020-11-29 00:00', '%Y-%m-%d %H:%M')
contour.level = units.Quantity(1000,units.hPa)
contour.linecolor = 'white'
contour.contours = 10
img = ImagePlot(colormap='jet',colorbar='horizontal')
img.data = cams
img.field = 'PN'
img.level = units.Quantity(1000,units.hPa)
img.time = datetime.strptime('2020-11-29 00:00', '%Y-%m-%d %H:%M')
panel = MapPanel()
panel.layers = ['coastline', 'borders', 'states', 'ocean', 'land']
panel.title = 'Pressure @ Sea level '+date_str+' 00:00 UTC'
panel.plots = [contour,img]
pc = PanelContainer()
pc.size = (10, 8)
pc.panels = [panel]
pc.save('tt.png')
看起来我在MetPy代码中发现了一个错误,该错误在绘制覆盖零子午线两侧的数据时出现:https : //github.com/Unidata/MetPy/pull/1595
临时解决方案是编辑文件src / metpy / plots / declarative.py并替换以下行:
x = x[:, 0] % 360
与
x = x[:, 0]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句