导读:什么是散点图?可以用来呈现哪些数据关系?在数据分析过程中可以解决哪些问题?怎样用Python绘制散点图?本文逐一为你解答。
作者:屈希峰
来源:华章科技
01 概述散点图(scatter)又称散点分布图,是以一个变量为横坐标,另一个变量为纵坐标,利用散点(坐标点)的分布形态反映变量统计关系的一种图形。
特点是能直观表现出影响因素和预测对象之间的总体关系趋势。优点是能通过直观醒目的图形方式反映变量间关系的变化形态,以便决定用何种数学表达方式来模拟变量之间的关系。散点图不仅可传递变量间关系类型的信息,还能反映变量间关系的明确程度。
通过观察散点图数据点的分布情况,我们可以推断出变量间的相关性。如果变量之间不存在相互关系,那么在散点图上就会表现为随机分布的离散的点,如果存在某种相关性,那么大部分的数据点就会相对密集并以某种趋势呈现。
数据的相关关系大体上可以分为:正相关(两个变量值同时增长)、负相关(一个变量值增加,另一个变量值下降)、不相关、线性相关、指数相关等,表现在散点图上的大致分布如图1所示。那些离点集群较远的点我们称之为离群点或者异常点。
▲图1 散点数据的相关性
在Python体系中,可使用Scipy、Statsmodels或Sklearn等对离散点进行回归分析,归纳现有数据并进行预测分析。对于那些变量之间存在密切关系,但是这些关系又不像数学公式和物理公式那样能够精确表达的,散点图是一种很好的图形工具,可以进行直观展示,如图2所示。
▲图2 散点数据拟合(线性)
但是在分析过程中需要注意,变量之间的相关性并不等同于确定的因果关系,仍需要考虑其他影响因素。
02 实例散点图代码示例如下所示。
代码示例①
# 数据 x = [1, 2, 3, 4, 5] y = [6, 7, 2, 4, 5] # 画布:尺寸 p = figure(plot_width=400, plot_height=400) # 画图 p.scatter(x, y, size=20, # screen units 显示器像素单位 # radius=1, # data-space units 坐标轴单位 marker="circle", color="navy", alpha=0.5) # p.circle(x, y, size=20, color="navy", alpha=0.5) # 显示 show(p)
运行结果如图3所示。