Matplotlib教程:让我们的国家地图更上一层楼
Matplotlib Tutorial Taking Our National Map to the Next Level
Matplotlib 教程
如何使用Python和Matplotlib绘制漂亮的地图
是的,我使用Matplotlib创建了上面的地图,并且我将在本教程中向您展示如何做到这一点。
我的想法是创建一个可重复使用和灵活的函数,使我能够立即绘制任何区域的漂亮地图。
有了这样的函数,当我想要创建具有地理组成部分的图表或信息图时,我可以节省大量时间。
我还希望展示可重复使用代码的强大,因为许多处理数据可视化的程序员往往忽视了这些最佳实践。
- 大型语言模型令编译器优化的元AI研究人员感到惊讶!
- 图像匿名化如何影响计算机视觉性能?探索传统与现实匿名化技术
- Deci AI推出DeciDiffusion 1.0:一个8.2亿参数的文本到图像潜在扩散模型,速度比稳定扩散快3倍
本教程包含了创建上面非洲地图的每一行代码。
让我们开始吧。
第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_color
、font_family
和text_color
。我将背景设置为浅蓝色,代表海洋。
font_family = "sans"background_color = "#D4F1F4"text_color = "#040303"sns.set_style({ "axes.facecolor": background_color…