如何使用Matplotlib创建六边形地图

美学与技术的完美结合:学习使用Matplotlib创造六边形地图

Matplotlib教程

使用形状来表示地理信息

作者创建的图表

让我们制作一些地图! 🗺

大家好,欢迎来到一个新的Matplotlib教程。这次,我将教你如何创建像上面那样富有见地的六边形地图。

可视化地理信息是困难的,因为区域(如国家)在大小和形状上各不相同。

结果是,有些区域在使用常规地图绘制数据时很难看到。

同时,将国家名称或值添加到可视化中也很困难。

一种消除这种差异的替代方法是使用六边形地图。

这个想法是将每个区域表示为一个六边形,并将它们排列成类似实际地图的方式。

由于每个六边形的形状相同,因此可以很容易地以结构化的方式添加信息并创建美丽的数据可视化。

本教程将教你如何使用美国总统选举的数据来实现这一目标。

(别忘了也看看我的其他Matplotlib教程

让我们开始吧。🚀

第一步:导入库

我们首先导入所需的库。

import pandas as pd
from matplotlib.patches import Polygon
import matplotlib.pyplot as plt
import seaborn as sns
import matplotlib.patheffects as PathEffects

就是这样。

第二步:创建seaborn风格

接下来,我们使用seaborn设置背景和字体族。我使用的是Work Sans#F4EBCD,但你可以随意尝试。

font_family = "Work sans"
background_color = "#E0E9F5"
sns.set_style({
    "axes.facecolor": background_color,
    "figure.facecolor": background_color,
    "font.family": font_family,
})

顺便说一句:如果我想将图表添加到信息图表或类似图表中,我经常使用background_color="#00000000"来获取透明背景。