Matplotlib教程:让我们的国家地图更上一层楼

Matplotlib Tutorial Taking Our National Map to the Next Level

Matplotlib 教程

如何使用Python和Matplotlib绘制漂亮的地图

Map created by the author

是的,我使用Matplotlib创建了上面的地图,并且我将在本教程中向您展示如何做到这一点。

我的想法是创建一个可重复使用和灵活的函数,使我能够立即绘制任何区域的漂亮地图。

有了这样的函数,当我想要创建具有地理组成部分的图表或信息图时,我可以节省大量时间。

我还希望展示可重复使用代码的强大,因为许多处理数据可视化的程序员往往忽视了这些最佳实践。

本教程包含了创建上面非洲地图的每一行代码。

让我们开始吧。

第1步:下载地理数据

在开始教程之前,您需要从这里下载地理数据:

世界边界GeoJSON – 高分辨率

这是世界银行的官方边界和一个公共数据集,您可以随意使用。

第2步:导入库

和往常一样,我们首先导入必要的库,但我们不需要很多。由于我们有地理数据,我们希望使用geopandas来尽可能简化绘图过程。

import numpy as npimport pandas as pdimport seaborn as snsimport geopandas as gpdimport matplotlib.pyplot as pltimport matplotlib.patheffects as PathEffectsfrom matplotlib.patches import Polygon

您可能还没有见过的一个导入是PathEffects。我将在稍后用它来为国家标签创建一个边框。

第3步:创建seaborn风格

在绘图之前,我总是创建一个seaborn风格,以获得一致的外观。在这里,我只定义了一个background_colorfont_familytext_color。我将背景设置为浅蓝色,代表海洋。

font_family = "sans"background_color = "#D4F1F4"text_color = "#040303"sns.set_style({    "axes.facecolor": background_color…