python 画世界地图
Python是一种流行的编程语言,它非常合适进行数据分析和数据可视化。在地理信息学领域,Python也是非常流行的工具之一。在本文中,我们将介绍怎样使用Python和一些开源库来绘制世界地图。
我们将使用以下几个库:
import pandas as pd import geopandas as gpd import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap
首先,我们需要下载一些地理数据。我们将使用Natural Earth网站提供的数据。我们可以从https://www.naturalearthdata.com/downloads/110m-cultural-vectors/110m-admin-0-countries/下载数据。下载完成后,将其解紧缩并将文件名改成"ne_110m_admin_0_countries.shp"。
!wget https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_0_countries.zip !unzip ne_110m_admin_0_countries.zip !mv ne_110m_admin_0_countries.shp ./data/
现在,我们可使用GeoPandas库来读取这个地图数据:
world = gpd.read_file('./data/ne_110m_admin_0_countries.shp') world = world[['ADMIN', 'geometry']]
现在,我们可使用Matplotlib库来创建一个世界地图:
fig, ax = plt.subplots(figsize=(10, 8)) world.plot(ax=ax, color='gray') plt.show()
现在,我们可以在这个地图上添加其他元素,例如边界限和标签:
fig, ax = plt.subplots(figsize=(10, 8)) m = Basemap() m.drawcoastlines() m.drawcountries() m.fillcontinents(color='lightgray', lake_color='white') for index, row in world.iterrows(): m.readshapefile('./data/ne_110m_admin_0_countries', 'ne_110m_admin_0_countries', drawbounds=True, color='gray') x, y = m(row.geometry.centroid.x, row.geometry.centroid.y) plt.text(x, y, row.ADMIN, ha='center', va="center", fontsize=10, color='black') plt.show()
现在,我们已成功地绘制了一个简单的世界地图。
文章来源:丸子建站
文章标题:python 画世界地图
https://www.wanzijz.com/view/57651.html