【发布时间】:2021-10-11 13:53:35
【问题描述】:
我试图在 119degE 和 90degW 之间绘制区域地图,但我的经度标签有问题。这是我的尝试:
import numpy as np
import cartopy.crs as ccrs
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
from matplotlib import pyplot as plt
lats = -31
latn = 31
lon1 = 119
lon2 = 301
plt.figure()
proj = ccrs.PlateCarree(central_longitude=210)
ax = plt.axes(projection=proj)
ax.set_extent([lon1, lon2, lats, latn], proj)
ax.coastlines()
ax.set_xticks(np.arange(120,330,30) ,crs=ccrs.PlateCarree())
ax.set_yticks(np.arange(-30, 40,10) ,crs=ccrs.PlateCarree())
lon_formatter = LONGITUDE_FORMATTER
lat_formatter = LATITUDE_FORMATTER
ax.xaxis.set_major_formatter(lon_formatter)
ax.yaxis.set_major_formatter(lat_formatter)
ax.set_ylabel(' ')
ax.set_xlabel(' ')
plt.show()
以下是问题:
- 我将
ax.set_extent设置为lon1和lon2给出的经度范围。但该图显示的是全球经度。 - 经度刻度标签错误(应为 120E、150E、180、150W...)。
如何解决这些问题?
我使用的cartopy的版本是v0.20.0。
【问题讨论】: