在数据分析中,理解变量之间的关系是非常重要的。变量之间的关系可能是线性的、非线性的,可能是正相关的、负相关的,可能是简单的、复杂的。关系类图表专门用于展示变量之间的关系,帮助我们理解数据的结构和模式。

散点图矩阵(Scatter Plot Matrix)是多个散点图的组合,用于同时探索多个变量之间的关系。在散点图矩阵中,每个变量与其他所有变量都有一对散点图,形成一个矩阵。散点图矩阵让我们能够在一个视图中探索多个变量之间的关系。
散点图矩阵是一个n×n的矩阵,其中n是变量的数量。矩阵的对角线通常是变量的分布图(如直方图或密度图),非对角线是变量之间的散点图。矩阵是对称的,上三角和下三角展示相同的关系,只是坐标轴互换。
散点图矩阵的优势在于,它能够在有限的空间内展示丰富的信息,让我们能够同时探索多个变量之间的关系。散点图矩阵的局限性在于,当变量数量较多时,矩阵会变得很大,每个散点图会变得很小,难以阅读。
散点图矩阵适合以下场景:需要探索多个变量之间的关系,变量数量不太多(通常不超过6个),需要识别变量之间的相关模式。
比如,在分析房价数据时,我们可以用散点图矩阵来探索房价与面积、位置、房龄、装修等因素之间的关系。在分析学生成绩数据时,我们可以用散点图矩阵来探索不同科目成绩之间的关系。
在解读散点图矩阵时,我们需要注意以下几个方面:
下面是一个散点图矩阵的示例,展示了四个变量之间的关系:
从图中可以清楚地看到,面积和价格之间存在强正相关关系,房龄和价格之间存在负相关关系,位置和价格之间的关系不太明显。这种全面的视图帮助我们理解房价的多个影响因素。
气泡图(Bubble Chart)是散点图的扩展,它在二维散点图的基础上增加了第三个维度,用气泡的大小来编码第三个变量。气泡图让我们能够在二维平面上展示三维数据。
气泡图使用点的位置来编码两个变量,使用点的大小来编码第三个变量。气泡的大小通常与第三个变量的值成正比,但也可以使用其他映射方式,如面积的平方根等。
气泡图还可以使用颜色来编码第四个变量,形成四维可视化。但要注意,当维度过多时,图表会变得复杂难读。
气泡图适合以下场景:需要同时展示三个变量的关系,第三个变量是数值型的,数据点不太多(通常不超过50个)。
比如,在分析国家数据时,我们可以用气泡图来展示GDP(横轴)、人均收入(纵轴)和人口(气泡大小)的关系。在分析产品数据时,我们可以用气泡图来展示价格(横轴)、销量(纵轴)和利润(气泡大小)的关系。
下面是一个气泡图的示例,展示了不同国家的经济数据:
从图中可以清楚地看到,GDP和人均收入之间存在正相关关系,人口(气泡大小)较大的国家通常GDP也较大。气泡图让我们能够同时看到三个维度的信息。
在设计气泡图时,有几个要点需要注意:
热力图(Heatmap)使用颜色来编码数值,形成一种类似于地图的可视化。热力图非常适合展示矩阵数据,如相关性矩阵、密度矩阵等。
相关性矩阵热力图是最常见的热力图类型。它展示多个变量之间的相关系数,用颜色来编码相关系数的大小。通常,红色表示正相关,蓝色表示负相关,颜色越深表示相关性越强。
相关性矩阵热力图适合以下场景:需要了解多个变量之间的相关关系,变量数量不太多(通常不超过20个),需要识别变量之间的相关模式。
下面是一个相关性矩阵热力图的示例,展示了六个变量之间的相关系数:
从图中可以清楚地看到,变量A和变量B之间存在强正相关(深红色),变量C和变量D之间存在强负相关(深蓝色),变量E和变量F之间几乎没有相关性(浅色)。这种颜色编码让我们能够快速识别变量之间的相关模式。
密度热力图使用颜色来展示数据的密度,类似于二维的直方图。它将数据空间分成网格,统计每个网格内的数据点数量,然后用颜色来编码密度。
密度热力图适合以下场景:数据点很多,需要了解数据的空间分布,需要识别数据的密集区域。
比如,在分析用户行为数据时,我们可以用密度热力图来展示用户在网站上的点击分布,识别用户最常点击的区域。在分析地理数据时,我们可以用密度热力图来展示事件的地理分布,识别热点区域。
在设计热力图时,有几个要点需要注意:
网络图(Network Graph)用于展示实体之间的关系。在网络图中,节点(Node)代表实体,边(Edge)代表关系。网络图让我们能够直观地理解复杂的关系结构。
网络图由节点和边组成。节点通常用圆形或其他形状来表示,可以用大小、颜色、形状等来编码节点的属性。边通常用线条来表示,可以用粗细、颜色、样式等来编码关系的属性。
网络图的布局算法决定了节点的位置。常用的布局算法包括:力导向布局(Force-directed Layout)、层次布局(Hierarchical Layout)、圆形布局(Circular Layout)等。不同的布局算法适合不同的网络结构。
网络图适合以下场景:需要展示实体之间的关系,关系是复杂的、多对多的,需要理解网络的结构。
比如,在分析社交网络时,我们可以用网络图来展示用户之间的关注关系,识别关键用户和社区。在分析知识图谱时,我们可以用网络图来展示概念之间的关系,理解知识的结构。在分析供应链时,我们可以用网络图来展示企业之间的供应关系,识别关键节点。
下面是一个网络图的示例,展示了社交网络中的用户关系:
从图中可以清楚地看到,网络中有几个核心用户(大节点),他们有很多粉丝。网络形成了几个社区(用颜色区分),社区内的用户关系更紧密。这种可视化帮助我们理解社交网络的结构。
在设计网络图时,有几个要点需要注意:
桑基图(Sankey Diagram)用于展示流向和流量关系。在桑基图中,流量用带状的流来表示,流的宽度与流量的大小成正比。桑基图让我们能够直观地理解数据的流动过程。
桑基图由节点和流组成。节点代表不同的状态或类别,流代表从一个节点到另一个节点的流动。流的宽度与流量的大小成正比,流越宽表示流量越大。
桑基图通常用于展示能量流、物质流、资金流、信息流等。在桑基图中,流量是守恒的,流入节点的流量等于流出节点的流量。
桑基图适合以下场景:需要展示流向和流量关系,流量是守恒的,需要理解流动过程。
比如,在分析能源系统时,我们可以用桑基图来展示能源的流动,从能源生产到能源消费的整个过程。在分析资金流时,我们可以用桑基图来展示资金的流动,从资金来源到资金用途。在分析用户行为时,我们可以用桑基图来展示用户的转化流程,从访问到购买的整个过程。
下面是一个桑基图的示例,展示了网站用户的转化流程:
从图中可以清楚地看到,大部分用户只是访问,没有注册。注册用户中,只有一部分完成了购买。购买用户中,只有一部分进行了复购。这种可视化帮助我们理解用户转化的瓶颈。
在设计桑基图时,有几个要点需要注意:
关系类图表是数据可视化中的重要工具,它们帮助我们理解变量之间的复杂关系。 掌握散点图矩阵、气泡图、热力图、网络图、桑基图等图表的特点和使用场景,能够帮助我们更好地分析数据,发现数据中的模式和规律。
在接下来的学习中,我们将学习时间序列数据可视化和地理数据可视化,了解如何展示特殊类型的数据。