【发布时间】:2021-05-29 06:10:11
【问题描述】:
当地图的 central_longitude = 180; 时,我试图在 180 经度上绘制多边形几何图形;但是会出现人工条带。
有没有办法阻止 matplotlib 出现红圈所示的条带?
import matplotlib.pyplot as plt
import geopandas as gpd
import cartopy.crs as ccrs
lats = np.linspace(-75, 75, 100)
lons = np.linspace(150, 190, 100)
gdf = gpd.GeoDataFrame(
crs=4326, geometry=gpd.points_from_xy(lons, lats)
)
gdf = gdf.to_crs({'init': 'epsg:3174'})
gdf['geometry'] = gdf['geometry'].buffer(90000)
gdf['route'] = 0
gdf = gdf.to_crs({'init': 'EPSG:4326'})
ax = plt.axes(projection=ccrs.PlateCarree(central_longitude=180))
ax.add_geometries(gdf['geometry'], crs=ccrs.PlateCarree())
ax.set_extent([120, 250, -75, 75], crs=ccrs.PlateCarree())
ax.gridlines(draw_labels=True, xlocs=[180])
ax.coastlines()
【问题讨论】:
-
我用
gdf['geometry'].tail(40)检查了数据,看起来很奇怪。我不知道为什么会这样。
标签: python matplotlib geopandas shapely cartopy