《数据可视化基础》处理重叠的点的问题

以下部分是基于《Fundamentals of Data Visualization》学习笔记,要是有兴趣的话,可以直接看原版书籍:https://serialmentor.com/dataviz/

当我们想要可视化大型或非常大型的数据集时,我们经常会遇到这样的挑战,即简单的x - y散点图也不能很好地进行可视化,因为许多点是相互叠加的,甚至有一些是部分或完全重叠。通常用于描述这种情况的技术术语是绘制重叠图,也就是说,将许多点绘制在彼此之上。在这里,介绍了几种可以采取的策略。

部分透明和抖动

我们首先考虑一个数据点数量适中但四舍五入较多的情况。我们使用一个包含1999-2008公布的234款流行车型在驾驶期间消耗的燃油和其发动机排量的数据。在这个数据集当中,消耗的燃油以每加仑英里数(mpg)来衡量,发动机排量以升为单位。其数据都进行了四舍五入的处理。由于进行了四舍五入,许多车型的值完全相同。例如,在21辆2.0升排量的汽车当中,它们只有四种不同的燃油经济性值,19、20、21或22 mpg。因此,在下图中,这21辆车仅用4个不同的点来表示,因此2.0升发动机看起来比它们实际的流行程度要低得多。此外,数据集包含两辆2.0升发动机的四轮驱动汽车,用黑点表示。然而,这些黑点完全被黄点遮挡,所以它看起来好像没有四轮驱动汽车与2.0升发动机。

改善这个问题的一个方法是使用部分透明。如果我们使单个点变成部分透明,那么绘制重叠的点的时候颜色显示就会变暗,因此这些点的阴影反映了图中该位置点的有重叠。

然而,使时点部分透明并不总是足以解决重叠的问题。例如,尽管在👆,我们可以看到有些点的阴影比其他点的深,但很难估计每个位置上有多少点重叠在一起。此外,虽然在阴影的差异是明显可见的,但是他们并没有进行额外的说明。第一次看到这个图的读者可能会想知道为什么有些点比其他点暗,并且不会意识到这些点实际上是多个点叠加在一起。在这种情况下,一个简单的技巧是对这些点应用少量的抖动,也就是说,在x方向或y方向或两者方向上随机地移动每个点。使用抖动,可以立即明显地看出,较暗的区域来自于绘制在彼此之上的点(👇)。现在,代表四轮驱动汽车2.0升引擎的黑点第一次清晰可见。

抖动的一个缺点是它确实会更改数据,因此必须小心执行。如果我们抖动太多,最终会将点放置在不能代表底层数据集的位置。其结果是数据的可视化的图形会对结果解读产生误导。例如下图,

2D 直方图

当我们数据量特别大的时候,部分透明(有没有抖动)将不足以解决覆盖的问题。这个时候,如果使用部分透明的情况的话,就会出现点密度高的区域会出现均匀的黑色斑点,而在点密度低的区域,单个点几乎不可见。例如👇,显示了超过100,000个航班的起飞延误,每个点代表一个航班起飞。即使我们已使各个点相当透明,但它们仍在0-300分钟之间形成了一个黑色带。这个黑色带会掩盖大多数航班是准时起飞还是实质性延误

在这种情况下,我们可以制作一个2D直方图,而不是绘制单个点。2D直方图和之前介绍过的1D直方图类似。只不过我们把数据放到了一个二维空间里面了。我们把整个xy平面细分成小矩形,计算每个小矩形中有多少个观测值,然后根据这个数字给矩形着色。例如👇,就比👆的清楚很多了。

除了将数据变成矩形外,我们还可以将数据变成六边形。其优点是彩色六边形比彩色矩形稍微更准确地表示数据。

等高线

另外,除了使用2D直方图,我们还可以使用等高线这样的东西,绘制数据在不同位置的点密度。

👇左图显示了123只蓝鸟的头长与体质量的关系,各点之间存在一定的重叠。我们可以通过使点更小,部分透明,以及添加等高线来表示其密度分布的方式来进行更好的可视化。

我们可以进一步增强对点密度变化的感知,方法是对等高线所包围的区域进行阴影处理,对代表较高点密度的区域使用较深的颜色

另外我们之前还研究过雄性和雌性鸟类头部长度和体重之间的关系。对于等高线,我们也可以这样做,分别为雄性和雌性绘制不同颜色的等高线(图18.10)。

用不同颜色绘制多组等高线是来绘制多组分布的很好的方法。但是需要注意的是,只有当具有鲜明颜色的组的数量很少(2到3个)并且组被清楚地分开时,它才有效。否则,我们可能会变成一个由不同颜色的线交织成团,没有任何特定的图案。

为了说明这个潜在的问题,使用钻石数据集,其中包含53,940颗钻石的信息,包括它们的价格、重量(克拉)和切割量。👇将这个数据集显示为散点图。我们看到了过这个图形有一个明显的问题:有如此多的不同颜色的点在另一个之上,它是不可能辨别任何东西。

这里如果基于不同的分组把等高线绘制在同一个图形上的话,就会出现上面提到的问题。

相反,我们基于不同的分组绘制不同的等高线则会看起来更简单明了一些。

(0)

相关推荐

  • 第128天:Seaborn-可视化数据集的分布

    上一篇我们介绍了介绍 seaborn 中分类数据的可视化图形表示.在处理数据过程中,我们通常想做的第一件事就是了解数据集中变量的分布情况,本篇将介绍 seaborn 中数据集分布情况的可视化图形表示. ...

  • 颜色渐变和透明度才是数据可视化图表中的点金技能

    今天我们来谈一下,可视化图表中的透明度和颜色渐变的用法 可以说用好他们,可以让图表更上一层楼. 具体我们还是透过一个明细汇总图来说 演示版本:EXCEL2016,其他版本大同小异 一.插入柱形图 鼠标 ...

  • 流式细胞术常见流式图

    -流式直方图- 流式直方图本质上就是统计直方图,是累积显示细胞量非常大而统计区间又非常小的统计直方图.横坐标代表荧光信号或散射光信号的相对强度,可以是线性或对数坐标:一般是相对细胞数. 流 散点图十分 ...

  • 《数据可视化基础》冗余编码

    在之前的章节当中,我们已经看到颜色不能总是像我们期望的那样有效地传达信息.如果我们要对很多分组进行着色区分,则会导致由于颜色过多,很难将图中的颜色与图例中的颜色进行匹配的情况.即使我们只需要区分两到三 ...

  • 《数据可视化基础》讲故事并提出要点

    对于数据库可视化而言,我们最终的目的还是通过图片的形式更加生动的向读者传递数据当中的故事. 以下介绍一些,在讲故事过程中,可视化需要注意的问题. 少即是多 在本章的其余部分,将讨论制作单个图和图集的策 ...

  • 基础 | 数据可视化基础之如何制表

    说点轻松的,如何设计一份表格? 原始表: 1.求和及套用格式 > Alt+=,快速行列求和 > 开始-套用表格格式,快速格式化(还可以自己定义) > 调整单元格行高18,默认13.5 ...

  • 《数据可视化基础》避免绘制线条

    只要有可能,就用实的.彩色的形状来可视化数据,而不是用线条勾勒出这些形状.固体形状更容易被认为是连贯的物体,不太可能产生视觉假象或视错觉,而且比轮廓更能立即传达数量.使用立体形状的可视化比使用线条图的 ...

  • 《数据可视化基础》你的坐标轴标签太小

    当我们在做图的时候,一定要注意自己的坐标轴标签以及其他图形注释文字.它们有可能很小.根据以往的绘图经验而言,几乎所有的默认绘图软件的默认值都很糟糕.如果使用默认值绘图,那么得到的标签都特别的小. 例如

  • 《数据可视化基础》:多面板图形需要注意的问题

    以下部分是基于<Fundamentals of Data Visualization>学习笔记,要是有兴趣的话,可以直接看原版书籍:https://serialmentor.com/dat ...

  • 《数据可视化基础》:使用颜色的常见陷阱

    以下部分是基于<Fundamentals of Data Visualization>学习笔记,要是有兴趣的话,可以直接看原版书籍:https://serialmentor.com/dat ...

  • 《数据可视化基础》:比例可视化的原则

    以下部分是基于<Fundamentals of Data Visualization>学习笔记,要是有兴趣的话,可以直接看原版书籍:https://serialmentor.com/dat ...

  • 《数据可视化基础》第十三章:趋势可视化

    以下部分是基于<Fundamentals of Data Visualization>学习笔记,要是有兴趣的话,可以直接看原版书籍:https://serialmentor.com/dat ...