在数据可视化的实践中,我们面对的第一个问题往往是:这些数据是什么类型的?应该用什么方式来可视化?不同类型的数据有不同的特征,需要采用不同的可视化方法。理解数据类型的分类,掌握数据到视觉元素的映射规则,是设计有效可视化的基础。

数据可以按照不同的标准进行分类。在数据可视化中,最常用的分类方法是按照数据的测量尺度来分类。这种分类方法直接关系到我们应该选择什么样的可视化方式。
分类数据(Categorical Data),也称为定性数据或名义数据,是指用于标识或分类的数据。分类数据的特点是,数据值之间没有大小关系,只有相等或不相等的关系。比如,性别(男、女)、颜色(红、绿、蓝)、城市(北京、上海、广州)等。
分类数据可以进一步分为两类:有序分类数据和无序分类数据。有序分类数据(Ordinal Data)是指分类之间有顺序关系,但没有明确的数值关系。比如,教育程度(小学、中学、大学、研究生)、满意度(非常不满意、不满意、一般、满意、非常满意)等。无序分类数据(Nominal Data)是指分类之间没有顺序关系。比如,血型(A、B、AB、O)、品牌(苹果、三星、华为)等。
在可视化分类数据时,我们通常使用不同的颜色、形状、位置等来区分不同的类别。对于有序分类数据,我们还可以使用有序的视觉编码,如亮度渐变、大小渐变等,来体现顺序关系。
数值数据(Numerical Data),也称为定量数据,是指可以用数字表示的数据。数值数据的特点是,数据值之间有明确的大小关系,可以进行数学运算。比如,身高、体重、温度、价格等。
数值数据可以进一步分为两类:连续数值数据和离散数值数据。连续数值数据(Continuous Data)是指可以在一定范围内取任意值的数据。比如,身高可以是170.5厘米、170.51厘米等任意值。离散数值数据(Discrete Data)是指只能取特定值的数据,通常是整数。比如,人数、商品数量等。
在可视化数值数据时,我们通常使用位置、长度、面积等精确的视觉通道。连续数据通常用折线图、面积图等来展示,离散数据通常用柱状图、条形图等来展示。
时间序列数据(Time Series Data)是指按时间顺序排列的数据。时间序列数据的特点是,时间是一个重要的维度,数据值会随时间变化。比如,股票价格、气温变化、网站访问量等。
时间序列数据可以是分类的,也可以是数值的。但无论是什么类型,时间维度都是关键。在可视化时间序列数据时,我们通常将时间放在横轴上,将数据值放在纵轴上,使用折线图或面积图来展示趋势。
时间序列数据还可以进一步分类。如果数据是按固定时间间隔记录的(如每天、每月),我们称之为等间隔时间序列。如果数据是按不规则时间间隔记录的,我们称之为不等间隔时间序列。如果数据有周期性(如季节性),我们称之为周期性时间序列。
地理数据(Geographic Data),也称为空间数据,是指与地理位置相关的数据。地理数据的特点是,位置信息是数据的重要组成部分。比如,各城市的GDP、各地区的降雨量、各国家的 population等。
地理数据可以是分类的,也可以是数值的。但无论是什么类型,地理维度都是关键。在可视化地理数据时,我们通常使用地图作为基础,然后在地图上用颜色、大小、符号等来编码数据值。
地理数据还可以进一步分类。如果数据是点数据(如城市位置),我们称之为点数据。如果数据是线数据(如道路、河流),我们称之为线数据。如果数据是面数据(如行政区划),我们称之为面数据。
除了上述主要类型,还有一些特殊的数据类型。文本数据(Text Data)是指由文字组成的数据。文本数据可以通过词云、文本网络等方式来可视化。网络数据(Network Data)是指描述实体之间关系的数据。网络数据可以通过网络图、力导向图等方式来可视化。
多媒体数据(Multimedia Data)是指图像、视频、音频等非结构化数据。这些数据的可视化需要特殊的方法,如缩略图网格、时间轴等。
数据的维度是指数据中包含的变量数量。不同维度的数据需要不同的可视化方法。理解数据维度,可以帮助我们选择最合适的可视化方式。
一维数据(1D Data)是指只包含一个变量的数据。比如,一组学生的成绩、一组商品的价格等。一维数据是最简单的数据形式,但也是最基础的。
可视化一维数据的方法包括:直方图、箱线图、小提琴图等。这些图表主要展示数据的分布特征,如中心趋势、离散程度、偏度、峰度等。直方图可以展示数据的频率分布,箱线图可以展示数据的四分位数和异常值,小提琴图可以展示数据的密度分布。
一维数据的可视化虽然简单,但非常重要。在数据分析的初期,我们通常需要先了解每个变量的分布情况,然后才能进行更深入的分析。
二维数据(2D Data)是指包含两个变量的数据。比如,身高和体重、温度和湿度、时间和销售额等。二维数据是最常见的数据形式,也是可视化方法最丰富的数据形式。
可视化二维数据的方法包括:散点图、折线图、热力图等。散点图可以展示两个数值变量之间的关系,折线图可以展示一个变量随另一个变量(通常是时间)的变化趋势,热力图可以展示两个分类变量之间的关系。
在二维数据的可视化中,我们需要考虑两个变量之间的关系类型。如果两个变量都是数值型的,我们可以使用散点图来探索它们之间的关系。如果一个是时间,一个是数值,我们可以使用折线图来展示趋势。如果两个都是分类的,我们可以使用分组柱状图或热力图。
多维数据(Multi-dimensional Data)是指包含三个或更多变量的数据。比如,一个包含年龄、收入、教育程度、性别等多个变量的数据集。多维数据是现实中最常见的数据形式,但也是最难可视化的。
可视化多维数据的方法包括:散点图矩阵、平行坐标、雷达图、气泡图等。散点图矩阵可以展示多个变量两两之间的关系,平行坐标可以展示多个变量的整体模式,雷达图可以展示多个维度的综合比较,气泡图可以在二维散点图的基础上增加第三个维度(用气泡大小表示)。
多维数据的可视化是一个挑战,因为我们的视觉系统只能直接感知二维或三维的信息。对于更高维度的数据,我们需要使用降维技术,或者通过交互来探索不同维度的组合。
当数据的维度非常高时(如几十维、几百维),传统的可视化方法就失效了。这时,我们需要使用特殊的方法,如主成分分析(PCA)、t-SNE、UMAP等降维技术,将高维数据映射到二维或三维空间进行可视化。
降维可视化虽然能够展示高维数据的整体结构,但会丢失一些信息。因此,在使用降维可视化时,我们需要理解降维的原理和局限性,不能完全依赖降维结果来做决策。
将数据映射到视觉元素,是数据可视化的核心过程。这个映射过程需要遵循一定的规则,确保视觉表现能够准确、清晰地传达数据的真实含义。

数据到视觉元素的映射需要遵循几个基本原则。第一个原则是准确性原则:视觉表现应该准确反映数据的真实值。如果数据值是100,视觉表现应该让观众能够准确地感知到100,而不是90或110。
第二个原则是一致性原则:相同类型的数据应该使用相同的映射方式。如果我们在一个图表中用红色表示正数,用蓝色表示负数,那么在相关的图表中,我们也应该使用相同的颜色映射,以保持一致性。
第三个原则是有效性原则:选择的视觉通道应该适合数据的类型。对于需要精确比较的数值数据,应该使用位置、长度等精确的视觉通道。对于分类数据,可以使用颜色、形状等视觉通道。
对于数值数据,我们通常使用位置、长度、面积等视觉通道来编码。位置编码是最精确的,适合需要精确读取数值的场景。在散点图中,我们使用位置来编码两个数值变量。在柱状图中,我们使用位置来编码分类变量,使用长度来编码数值变量。
长度编码也是精确的,适合需要比较大小的场景。在柱状图和条形图中,我们使用长度来编码数值。长度编码的优势在于直观,观众可以很容易地比较不同数据的大小。
面积编码适合编码第三个维度,但精度较低。在气泡图中,我们使用面积来编码第三个数值变量。面积编码需要注意,人类对面积的感知不如对长度的感知准确,所以不适合需要精确比较的场景。
对于分类数据,我们通常使用颜色、形状、位置等视觉通道来编码。颜色编码是最常用的,因为颜色具有很强的视觉区分能力。在柱状图中,我们可以使用不同的颜色来区分不同的类别。在散点图中,我们可以使用不同的颜色来区分不同的类别。
形状编码可以与颜色编码结合使用,创建更丰富的视觉区分。在散点图中,我们可以使用不同的形状来区分不同的类别。形状编码的优势在于,它不依赖于颜色,可以与颜色编码结合使用。
位置编码也可以用于分类数据。在分组柱状图中,我们使用位置来区分不同的组。位置编码的优势在于,它可以与数值编码结合使用,在同一个图表中展示多个维度的信息。
对于有序数据,我们需要使用有序的视觉编码。最常用的是亮度渐变和色相渐变。亮度渐变是指使用同一色相的不同亮度来编码有序数据,从暗到亮表示从小到大的顺序。色相渐变是指使用不同色相来编码有序数据,通常使用从冷色到暖色的渐变。
位置也可以用于有序数据。在有序柱状图中,我们可以按照数值大小对柱子进行排序,这样位置本身就编码了顺序信息。
对于时间数据,我们通常将时间放在横轴上,使用位置来编码时间。时间的编码需要注意时间尺度。如果时间跨度很大(如几年),我们可能需要使用对数尺度。如果时间跨度很小(如几小时),我们可能需要使用线性尺度。
时间的显示格式也很重要。我们应该使用清晰、易读的时间格式,避免使用过于复杂或模糊的格式。对于不同的时间尺度,我们应该使用不同的格式。比如,对于年度数据,我们可以只显示年份。对于月度数据,我们可以显示年月。对于日度数据,我们可以显示月日。
对于地理数据,我们通常使用地图作为基础,然后在地图上用颜色、大小、符号等来编码数据值。颜色的映射可以使用分类映射或连续映射,取决于数据的类型。如果数据是分类的,我们使用不同的颜色来区分不同的类别。如果数据是数值的,我们使用颜色渐变来编码数值大小。
大小的映射通常用于点数据。我们可以用点的大小来编码数值,点越大表示数值越大。符号的映射可以用于分类数据,我们可以用不同的符号来区分不同的类别。
数据可视化的第一步是理解数据的本质。不同类型的数据具有不同的特征:分类数据强调区分,数值数据强调比较,时间序列数据强调趋势,地理数据强调空间关系。 数据的维度也决定了可视化的复杂度,从一维的分布探索到多维的模式发现,每一层都需要合适的可视化策略。
将数据映射到视觉元素是数据可视化的核心技能。映射过程需要遵循准确性、一致性和有效性三大原则,确保视觉表现能够忠实、清晰地传达数据的真实含义。 掌握这些基础的映射规则,我们就能在数据与视觉之间建立有效的桥梁,让复杂的数据变得直观易懂。