首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >形状在更改CCRS后消失。

形状在更改CCRS后消失。
EN

Stack Overflow用户
提问于 2021-08-30 09:15:08
回答 1查看 42关注 0票数 0

除了another Q&A,我正在绘制地球上的非洲大陆各国的地图:

代码语言:javascript
复制
import cartopy
import cartopy.crs as ccrs
from matplotlib import pyplot as plt

import geopandas as gpd

world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
africa = world[(world['continent'] == 'Africa')]

latlon_proj = ccrs.PlateCarree()
axis_proj = ccrs.Mollweide()

ax = plt.axes(projection=axis_proj)
ax.stock_img()

for ea in africa['geometry']:
    
    feat = cartopy.feature.ShapelyFeature(
        [ea],
        latlon_proj,
        facecolor="lime",
        edgecolor='black',
        lw=0.2
        )
    
    ax.add_feature(feat)

plt.show()

然而,当我把latlon_projaxis_proj改成ccrs.Orthographic()时,非洲大陆消失了:

代码语言:javascript
复制
import cartopy
import cartopy.crs as ccrs
from matplotlib import pyplot as plt

import geopandas as gpd

world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
africa = world[(world['continent'] == 'Africa')]

latlon_proj = ccrs.Orthographic()
axis_proj = ccrs.Orthographic()

ax = plt.axes(projection=axis_proj)
ax.stock_img()

for ea in africa['geometry']:
    
    feat = cartopy.feature.ShapelyFeature(
        [ea],
        latlon_proj,
        facecolor="lime",
        edgecolor='black',
        lw=0.2
        )
    
    ax.add_feature(feat)

plt.show()

我怎样才能保持非洲大陆在改变CCRS的时候?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-30 09:20:11

在代码中使用CRS是错误的。这是它的正确版本。

代码语言:javascript
复制
import cartopy
import cartopy.crs as ccrs
from matplotlib import pyplot as plt

import geopandas as gpd

world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
africa = world[(world['continent'] == 'Africa')]

latlon_proj = ccrs.PlateCarree()  ## The correct CRS
axis_proj = ccrs.Orthographic()

ax = plt.axes(projection=axis_proj)
ax.stock_img()

for ea in africa['geometry']:

    feat = cartopy.feature.ShapelyFeature(
        [ea],
        latlon_proj,
        facecolor="lime",
        edgecolor='black',
        lw=0.2
        )

    ax.add_feature(feat)

plt.show()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68981605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档