导读:什么是气泡图?可以用来呈现哪些数据关系?在数据分析过程中可以解决哪些问题?怎样用Python绘制气泡图?本文逐一为你解答。
作者:屈希峰
来源:大数据DT(ID:bigdatadt)
01 概述
气泡图(Bubble)是一种多变量图表,是散点图的变体,也可以认为是散点图和百分比区域图的组合。其可用于展示三个变量之间的关系,和散点图一样,绘制时将一个变量放在横轴,另一个变量放在纵轴,而第三个变量则用气泡的大小来表示。
排列在工作表的列中的数据(第一列中列出x值,在相邻列中列出相应的y值和气泡大小的值)可以绘制在气泡图中。
气泡图与散点图相似,不同之处在于:气泡图允许在图表中额外加入一个表示大小的变量进行对比,而第四维度的数据则可以通过不同的颜色来表示(甚至在渐变中使用阴影来表示)。
另一种使用气泡元素的流行方法是使用气泡地图。在气泡地图中,x和y分别代表一个地理位置的经纬坐标。在不要求定位非常精确的情况下,气泡地图可以将数据的相对集中度完美地体现在地理背景中。
此外,表示时间维度的数据时,可以将时间维度作为直角坐标系中的一个维度,或者结合动画来表现数据随着时间的变化情况。
气泡图通常用于比较和展示不同类别圆点(这里我们称为气泡)之间的关系,通过气泡的位置以及面积大小。从整体上看,气泡图可用于分析数据之间的相关性。
但需要注意的是,气泡图的数据大小容量有限,气泡太多会使图表难以阅读。但是可以通过增加一些交互行为弥补:隐藏一些信息,当鼠标点击或者悬浮时显示,或者添加一个选项用于重组或者过滤分组类别。
最后,气泡的大小是映射面积而非半径或直径,如果是基于半径或者直径,圆的大小不仅会呈现指数级的变化,而且还会导致视觉上的误差。如图1所示。
▲图1 气泡图
02 实例
气泡图的代码如代码示例①所示。
代码示例①
1# 简单气泡图
2x=[1,2,3,4]
3y=[2,4,6,8]
4sizes = np.array(y)*5 # 气泡大小,单位屏幕像素
5p = figure(title="bubble chart")
6p.scatter(x, y, marker="circle", size=sizes, color="navy",
7# fill_color=None, line_width=2
8 )
9show(p)
运行结果如图2所示。