《数据可视化基础》第二章:坐标轴
进行数据可视化的第一步是来定义数据的位置,也就是位置标度(position scales)。位置标度决定了我们的数据在图片中的位置,对于一个常规的2D图形而言,我们需要两个变量来定义一个点,这个也就是我们经常说到的X轴和Y轴。有了两个位置标度之后,我们还需要制定这两个标度的相对位置。常规来说X轴和Y轴是垂直的,但是也有其他的,比如说Y轴相对于X轴是锐角的。这种两个位置标度再加上一个相对位置就构成了一个坐标轴。
在数据可视化方面用的最广的就是直角坐标系,这个坐标轴系统由于是数学家笛卡尔发明的,所以也就叫笛卡尔坐标系了。常规的坐标轴就是👇这个图的样子。
对于数据而言,它们都是有单位的。例如,如果我们要测量温度,则这些值可能以摄氏度或华氏度为单位。同样,如果我们正在测量距离,则值可能以公里或英里为单位。在笛卡尔坐标系中,沿轴线的网格线之间的间距对应于这些数据单元中的离散步长。例如,在温度范围内,每10华氏度可能有一条网格线;在距离范围内,我们可能每5公里有一条网格线。
直角坐标系可以有两个不同单位的轴。每当我们将两种不同类型的变量映射到x和y时,就会经常发生👇的图中的情况,下图中,我们绘制了温度与一年中的天数的关系时。y轴以华氏度为单位,每20度有一条网格线,而x轴以月为单位,每3个月的第一个有一条网格线。无论何时以不同单位测量两个轴,我们都可以相对于另一个拉伸或压缩一个轴,并保持数据的有效可视化。哪个版本更合适取决于我们想要传达的故事。高而窄的图强调沿y轴的变化,而短而宽的图则相反。理想情况下,我们希望选择一种长宽比,以确保位置上的任何重要差异都明显。
另一方面,如果x和y轴以相同单位测量,则两个轴的网格间距应相等,以使沿x或y轴的相同距离对应于相同数量的数据单位 。例如,我们可以绘制一年中每一天德克萨斯州休斯顿的温度与加利福尼亚州圣地亚哥的温度的关系图,由于在两个轴上都绘制了相同的数量,因此我们需要确保网格线形成完美的正方形。
在笛卡尔坐标系中,沿轴的网格线在数据单位和结果可视化中均等分布。我们将这些坐标系中的位置比例称为线性。虽然线性标度通常可以提供准确的数据表示,但在某些情况下,非线性标度可能能更好的呈现数据的分布。
最常用的非线形坐标轴就是对数坐标轴了。所谓的对数坐标轴就是把我们的数据进行对数处理。最常见的坐标轴就是 log10对数坐标轴。如下图所示,如果按照线形坐标轴来排列的话,数据跨度特别大,这个时候使用对数坐标轴就比较好一些。对数坐标轴的使用方式有两种:
把数据进行转换后,使用转换后的数据进行绘图。同时在坐标轴标题上面说明数据进行了什么转换(下图的第二个)。
直接使用原始数据,但是在数据跨度上使用的是对数的原始数据(下图的第三个),坐标轴标题标注的时候则使用原始的数据。
以上的两种转换都是可以的,建议的还是使用第一种,因为这种转换在读者看到标题标注之后,对于读者解读图片的压力会小很多。
有一个错误的表示就是,标注了对数转换,但是坐标轴数据却是原始数据。
对于数据跨度大都可以尝试对数坐标轴试一下,特别是比率的数据。例如德克萨斯州每个县的居民人数为基础,并将其除以德克萨斯州所有县的居民人数中位数的数据。由于数据是比率的结果呈现的,如果我们线形坐标轴来绘图的话,是这样的。
大多数地区的人口和中位数人口很接近,而有的地区的人口则是中位数人口的200多倍。这么大的数据跨度,就导致了,在下面的差别不大的地区没办法很好显示其分布。这个时候,我们时候对数坐标轴的话则就很好的显示结果了。
以上介绍的两个坐标系其相对位置还是直角的,但是还有其他坐标系,其中轴本身是弯曲的。特别是在极坐标系中,我们通过角度和距原点的径向距离来指定位置,因此角度轴是圆形的。
极坐标可用于周期性的数据,这样可以将刻度一端的数据值逻辑上与另一端的数据值连接。例如,考虑一年中的天数,12月31日是一年中的最后一天,但它也是一年中第一天的前一天,果要显示一年中的数量变化情况,可以将极坐标与指定每天的角度坐标一起使用。
另外一种使用非直角坐标系的设置是地理空间的数据,由于地球是一个球体,如果使用直角来绘制经纬度的话容易产生误解所以不建议使用。取而代之的则是使用各种非线形的则会好一些。