如何使用Python和Matplotlib创建极坐标直方图

使用Python和Matplotlib创建极坐标直方图

Matplotlib教程

创建一个吸引眼球并向观者讲述有深意的图表。

作者创建的图表

大家好,欢迎来到这个Python + Matplotlib教程,在这里我将向您展示如何创建上面您看到的漂亮的极坐标直方图。

当您拥有太多值无法使用标准柱状图时,极坐标直方图非常有用。每个柱形图朝中心逐渐变细的圆形形状使我们能够在相同的区域内装入更多信息。

一个很好的特点是在绕中心一圈后,最低值和最高值相遇时产生的视觉比较。

在本教程中,我使用了来自《世界幸福报告》的数据和来自世界银行的收入水平信息。这两个数据源都是根据知识共享许可证公开的。

我的数据框包含146个国家和三列。

这是它的样子。

作者的截图

我将展示并解释创建可视化所需的每一行代码。如果你想跟着做,你可以在这个GitHub仓库中找到我使用的代码和数据。

让我们开始吧。

步骤1:准备工作

导入库

我们只需要大家都熟悉的标准Python库。PIL不是必需的,但它是我处理图像的首选工具,我们在添加国旗时会用到。

import mathimport numpy as npimport pandas as pdimport seaborn as snsimport matplotlib.pyplot as pltfrom PIL import Imagefrom matplotlib.lines import Line2Dfrom matplotlib.patches import Wedgefrom matplotlib.offsetbox import OffsetImage, AnnotationBbox

<p唯一引人注目的是末尾几个特定的Matplotlib导入。我将在教程的后面介绍这些组件。

<p像往常一样,我使用pandas来加载数据。