Ant*_*tti 5 python matplotlib cartopy geopandas
我有一个使用 Python 在非洲地图上绘制数据的基本设置matplotlib。不幸的是,geopandas自然地球数据库不包括小岛屿国家,而小岛屿国家也必须包括在内。
我的基本设置是这样的:
import geopandas as gpd
import numpy as np
import matplotlib.pyplot as plt
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
africa = world.query('continent == "Africa"')
africa.plot(column="pop_est")
plt.show()
Run Code Online (Sandbox Code Playgroud)
相反,我想要一个类似这样的图形,其中小岛屿国家由可见点整齐地呈现:

(图来源为:https://en.wikipedia.org/wiki/African_Continental_Free_Trade_Area#/media/File :AfricanContinentalFreeTradeArea.svg )
我有两个问题:1)geopandas自然地球数据不包括岛屿国家,2)我不知道如何将其他不可见的岛屿国家绘制为可见点。
我在 R 的 SO 中看到了一些相关问题,但它特别是我所追求的 Python 解决方案。
我通过查找每个国家/地区的质心数据得到了一个可行的解决方案。基于这篇文章,我使用了 R: https: //gis.stackexchange.com/a/232959/68457
并制作了一个GeoDataFrame具有国家标识符和geometry质心点列的文件。
然后我将geopandas函数应用于buffer质心点,即:
dfCentroids["geometry"] = dfCentroids.buffer(1)
Run Code Online (Sandbox Code Playgroud)
其中 1 是生成的球面多边形的半径。然后将其与geopandas naturalearth数据集连接起来,我得到了地理编码数据,用于在岛屿国家上用点绘制地图。
| 归档时间: |
|
| 查看次数: |
2770 次 |
| 最近记录: |