01
一个动态气泡图,可以展现多个维度的信息。
比如说,要对比分析中国和美国从 1800 年以来每年的人口数量、人均收入和预期寿命,我们可以这样设置每个维度代表的含义:
(1)X 轴:人均收入;
(2)Y 轴:预期寿命;
(3)气泡大小:人口;
(4)气泡颜色:国家;
(5)时间变化:年份。
利用 matplotlib 制作动画的功能,我做了一个动态气泡图的视频:
在作图的细节方面,我做了一下刻意的调整:
(1)图表标题文字用深灰色,并且左对齐;
(2)X 轴和 Y 轴的标题与数字对齐,竖向的文字分行逐字显示;
(3)气泡的颜色与对应的文字使用接近的颜色;
(4)去掉网格线、图例、边框、刻度线等元素;
(5)只选取两个国家的数据。
以上这些刻意的调整,主要是为了更加突出地展现数据本身,或许让人看起来比较「素颜」,但是不要忘了我们作图的目标,是让观众更加快速地理解想要表达的信息,而不是靠「浓妆艳抹」去吸人眼球。
数据可视化,有时需要有批判性思维,突出数据中的重要内容。我们可以从设计师身上学习,多想一想数据可视化的目标是什么,尽可能让数据更利于观众理解,而不能拿着数字,就开始盲目地画图。
02
接下来,我们看看用 matplotlib 画图的具体步骤。
首先,导入所需的库,并设置中文字体和定义颜色等。
# 导入所需的库import numpy as npimport pandas as pdimport matplotlib as mplimport matplotlib.pyplot as pltfrom matplotlib.animation import FuncAnimation# 正常显示