使用 MetPy 生成等高线图的问题
Problem with generating Countour Plot using MetPy
我正在尝试使用 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]
不,它工作正常。
我正在尝试使用 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]
不,它工作正常。