使用matplotlib和xarray映射边框不正确

2024-05-13 06:57:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个xarray DataArrayda,其中包含爱尔兰的一段数据,如下所示:

<xarray.DataArray 'co2' (lat: 733, lon: 720)>
array([[nan, nan, nan, ..., nan, nan, nan],
   [nan, nan, nan, ..., nan, nan, nan],
   [nan, nan, nan, ..., nan, nan, nan],
   ...,
   [nan, nan, nan, ..., nan, nan, nan],
   [nan, nan, nan, ..., nan, nan, nan],
   [nan, nan, nan, ..., nan, nan, nan]])
Coordinates:
  * lat      (lat) float32 49.9 49.908333 49.916664 49.924995 49.933327 ...
  * lon      (lon) float32 -11.0 -10.991667 -10.983334 -10.975 -10.966667 ...

我想用爱尔兰海岸线和行政边界绘制一张地图。我可以使用matplotlib和basemap来实现这一点,DataArrayDataSet的一部分,其中lat和lon坐标用作边界:

import matplotlib.pyplot as plt
import xarray
import os
from mpl_toolkits.basemap import Basemap, cm

m= Basemap(projection='cyl',lat_0=ds.co2.lat[0],lon_0=ds.co2.lon[len(ds.co2.lon)/2])
m.drawcoastlines()
da.plot()

问题是,这张地图上的边界非常粗糙,看起来很可怕,而且缺少内部行政边界:

enter image description here

如何更改参数,使海岸线更真实,并获得内部管理边界


Tags: importmatplotlib地图dsnan边界xarraylon