nuxt-typescript - 这是一篇关于数据可视化中好的和坏的实践的文章。

Created at: 2018-05-23 02:31:25
Language: JavaScript
License: MIT

朋友不要让朋友做不好的图表

DOI

朋友不让朋友做某些类型的数据可视化 - 它们是什么,为什么它们不好。

这是一篇关于数据可视化的好与坏实践的自以为是的文章。 示例和解释如下。

该目录包含生成如下所示图形的文件。 它需要 R、RStudio 和 rmarkdown 包。

Scripts/
.Rmd

目录

  1. 朋友不要让朋友为平均分离制作酒吧图
  2. 朋友不要让朋友为小样本量制作小提琴图
  3. 朋友不要让朋友对单向数据使用双向色标
  4. 朋友不要让朋友做酒吧地块草地
  5. 朋友不要让朋友在不重新排序行和列的情况下制作热图
  6. 朋友不要让朋友在不检查异常值的情况下制作热图
  7. 朋友不要让朋友忘记检查每个因子级别的数据范围
  8. 朋友不尝试不同的布局就不要让朋友制作网络图
  9. 朋友不要让朋友混淆基于位置和长度的可视化效果
  10. 朋友不要让朋友做饼图
  11. 朋友不要让朋友做同心甜甜圈
  12. 朋友不要让朋友使用红色/绿色和彩虹色阶
  13. 朋友别让朋友忘记重新排序堆叠条图
  14. 朋友不要让朋友混淆堆叠条形图和意味着分离

1.朋友不要让朋友为手段分离而做酒吧情节

这必须是第一个。 均值分离图是科学出版物中最常见的一些图。 我们有两个或多个组,其中包含多个观测值;它们可能具有不同的均值、方差和分布。 可视化的任务是显示数据的均值和分布(离散)。

无柱形图,用于均值分离

在此示例中,两组具有相似的均值和标准差,但分布完全不同。它们真的“一样”吗?只是不要使用条形图进行均值分离,或者至少在确定条形图之前检查一些事情。

值得一提的是,我受到许多研究人员的启发,他们在推特上发表了关于条形图局限性的推文。 这是一份出版物:Weissgerber 等人,2015 年,PLOS Biology

2.朋友不要让朋友为小样本量制作小提琴图

这在文献中也很常见,但不幸的是,小提琴图(或任何类型的平滑分布曲线)对于小 n 没有意义。

当心小样本量的小提琴图

分布和四分位数可能会因小 n 而变化很大,即使基础观测值相似。 分布和四分位数仅在大 n 时才有意义。 我之前做过一个实验,对相同的正态分布进行了多次采样,并计算了每个样本的四分位数。 只有当 n 大于 50 时,四分位数才会稳定下来。

3.朋友不要让朋友对单向数据使用双向色标

请原谅我的语言,但这是真正的数据可视化罪过,而且很常见。 我能理解为什么这个错误很常见,因为我们中的许多人似乎没有在这个问题上花很多心思。

你是否为数据使用了正确的色阶?

色标很漂亮,但我们必须格外小心。 当使用色阶(或颜色渐变)来表示数值数据时,最暗和最浅的颜色应该具有特殊的含义。 你可以决定这些特殊含义是什么:例如,最大值、最小值、平均值、零。但它们应该代表一些有意义的东西。 热图/颜色渐变的数据可视化罪过是当最亮或最暗的颜色是一些任意数字时。这与条形图中最长的条形不是最大值一样糟糕。你能想象吗?

4.朋友不要让朋友做酒吧情节草地

我们谈到了没有用于均值分离的条形图,但这是一个不同的问题。 它与呈现多因素实验的结果有关。 条形图草地在科学出版物中很常见,不幸的是,在传达结果方面也无效

可怕的巨型酒吧情节与设计更好的情节

数据来源:Matand 等人,2020 年,BMC 植物生物学

条形图草地很常见,因为多因素实验很常见。 然而,酒吧地块草地的设计很差。 为了传达多因素实验的结果,它需要对感兴趣的因子进行分组/分面的深思熟虑的设计。

在这个例子中,我重点比较了&在每个水平上的影响。 但是,如果焦点是 & on 在每个级别的效果,那么它将需要不同的布局。

Treatment
Explant
Response
Variety
Treatment
Variety
Response
Exaplant

5. 朋友不要让朋友在没有(考虑)重新排序行和列的情况下制作热图

热图在科学出版物中很常见,在组学论文中也非常常见。 然而,为了使热图有效,我们必须考虑行和列的顺序。

重新排序行和列之前和之后的热图

在此示例中,我将单元格作为列,将要素作为行。网格显示 z 分数。 如果不对行和列进行重新排序,就不可能从热图中获得任何有用的东西。 我们可以使用聚类对行和列重新排序,但这不是唯一的方法。 当然,如果行和列映射到物理实体(96 孔板的行和列),则无法对它们进行重新排序。 但是,至少考虑对行和列重新排序是一个非常好的主意。

数据来源:Li et al., 2022, BioRxiv

奖励:热图可以非常漂亮

...如果你很好,可以重新排序行/列并选择颜色渐变。 下面是一个从模拟数据生成的“抽象 aRt”示例。

带热图的 aRt

可以在此处找到此 aRt 部分的 R 代码。

有关如何对热图的行和列重新排序的教程,请参阅此 Markdown 文件

6. 朋友不要让朋友在不检查异常值的情况下制作热图

热图中的异常值确实可以改变我们感知和解释可视化的方式。 这适用于使用颜色表示数值数据的所有类型的可视化效果。 让我举个例子:

你是否检查了异常值

在这个例子中,我有 2 个观察结果。对于每个观察,我测量了 20 个特征。 如果不检查异常值,则 2 个观测值总体上似乎是相似的,但 2 个要素除外。 然而,在将数据的第 95 个百分位左右的色标最大化后,它揭示了这两个观测值在所有特征中都是不同的。

7.朋友不要让朋友忘记检查每个因子级别的数据范围

这是我们许多人遇到的常见问题。 在多因子实验中,有时响应变量的范围在不同因子水平之间变化很大。

你是否检查了每个因子水平的数据范围

该假设实验测量了 2 组(对照组与处理组)的 3 种化合物。 如果不检查每种化合物的数据范围,你可能会错过处理对化合物 1 有很强的影响。 这是因为化合物 1 的浓度范围比本实验中的其他化合物窄得多。

8.朋友不要让朋友在不尝试不同布局的情况下制作网络图

网络图在科学出版物中很常见。它们在呈现关系数据方面非常有用。 然而,网络的外观(而不是拓扑结构)在确定网络图是否有效方面会产生巨大的影响。

尝试不同的网络布局

布局可以极大地改变网络的外观,使它们更容易或更难解释。 以下是来自相同数据的 3 个网络图。它们看起来彼此非常不同。 数据来源:Li et al., 2022, BioRxiv

9. 朋友不要让朋友混淆基于位置的可视化和基于长度的可视化

这始终是房间里的大象,也是许多误导性可视化的本质。 在此示例中,我测量了 3 个时间点的响应变量。 以下两个图没问题,但其中一个是数据可视化犯罪。你能明白为什么吗?

基于位置与长度的可视化

在点图和折线图中,值由沿 x 轴和 y 轴的位置表示。 同样的想法也适用于其他基于位置的可视化,例如箱形图。 在条形图中,值由距 x 轴的距离表示,因此由条形的长度表示。

第 3 个图不是从 0 开始的,这使得时间点 2 的柱线长度比时间点 1 的柱线长度长约 3 倍。 事实上,均值的真实差异接近 1.6 倍。 我希望你能看到基于长度和位置的可视化是如何导致误导性图表的。

注意轴断的条形图

虚线轴可用于描述各种数值中的数据。 (或者,可以改用对数缩放轴。 对于基于位置的图形,断轴很好,因为数据由沿轴的位置表示。 但是,我们必须非常小心具有断轴的条形图。下面是一个示例。

断轴

在此示例中,两个图形(左图与右图)显示相同的数据。 但是,通过更改轴断裂的位置,可以使某些条形看起来更长或更短。 在此示例中,柱形“d”的长度看起来可能非常不同。 条形图“d”在右图上很短的错觉归结为条形图是基于长度的图形,而不是基于位置的图形。

可以在此处找到断轴的示例 R 代码。

10.朋友不要让朋友做饼图

饼图是分数数据的一种常见可视化类型,其中分数加起来为 100%。 这是通过将一个圆圈划分为扇区来实现的,扇区加起来就是一个完整的圆。 饼图一直受到批评,因为人类在阅读角度和面积上比阅读长度差得多。 这是一篇探讨这一点的博客文章

不要制作饼图

在此示例中,我们有两个组,每个组包含 4 个子类别。 在经典饼图中,角度(以及弧长和扇区面积)表示数据。 问题是很难在组间进行比较。 我们可以直观地将饼图简化为圆环图,其中数据现在由弧长表示。 但是,如果我们想使用长度来表示数据,为什么不直接打开甜甜圈并制作堆叠条呢? 在堆积条形图中,条形并排显示,因此更易于跨组比较。

有趣的事实:堆叠条形图的脚本比饼图和圆环图的脚本简单得多。 如果你想用ggplot生成次优的图类型,你实际上必须加倍努力。

11.朋友不要让朋友做同心甜甜圈

在此示例中,我们有 3 个组,每个组包含两个子类别(I 型或 II 型)。

不要做同心甜甜圈

在同心甜甜圈中,你可能会想说数据由弧长表示,这实际上是不准确的。 外圈的弧长比内圈的弧长得多。 第 2 组和第 3 组具有相同的精确值,但第 3 组的弧长要长得多。 事实上,数据是由弧角表示的,我们不擅长阅读。

由于外圈较长,因此组的顺序(哪个组进入哪个环)对情节的印象有很大影响。 这可能会导致明显的悖论,即较大的值具有较短的弧线。 更好(也更简单!)的替代方案是打开甜甜圈,做一个很好的旧堆叠条形图。 顺便说一句,这也是我对 circos 图和其他圆形图布局的主要问题。

12. 朋友不要让朋友使用红色/绿色和彩虹色标

你是否正在制作“安全”的热图?

氘白症是最常见的红/绿色盲类型,发生率为 1/16 的男性和 1/256 的女性。 对于红/绿盲(图的第三列)的人来说,任何同时使用红色阴影和绿色阴影的色标都是一个问题。 此外,红色/绿色和彩虹在黑白(灰度,图中的第二列)上打印时根本不能很好地保存信息。 许多科学软件仍然使用红色/绿色或彩虹作为默认色标,这让我发疯。 更“现代”的色标,如viridis,既对色盲友好,又对灰度安全(图中的第三行)。 而且它们看起来也不错。

13.朋友别让朋友忘记重新排序堆叠条图

堆积条形图可用于可视化比例数据。 堆积条形图通常用于可视化群落结构或种群结构或外加剂分析。 这种可视化归结为样本集合,其中每个样本包含多个成员类。 但是,当我们有许多样本和许多类时,需要优化堆积条形图才能有效。 我所说的“优化”是指样本的分组和排序。

重新排序堆叠的条形图

这里我们有一个示例数据,其中包含 100 个样本和 8 个成员类。 由于样本和类的数量,如果不优化条形的顺序,就很难从这张图中辨别出任何东西。我到底在看什么? 重新排序酒吧后,,这真的有所作为,你不觉得吗? 有关如何优化堆栈条图的教程,请参阅此脚本

14.朋友不要让朋友混淆堆叠条形图和平均分离

有时,当可视化尝试一次处理太多事情时,它会变得混乱和无效。 一个这样的例子是混合堆积条形图和平均分离图。 一个显示比例数据加起来为 100%,另一个显示均值和均值周围的离散度差异。 这些是数据可视化中非常不同的任务。

在这个假设的实验中,我们将蓝莓植物分为两组。 一组是对照组;另一种是用化学物质处理的,以使果实发育更快。 每组有5株植物。治疗的反应分为3类: 浅绿色水果、浅蓝色水果和深蓝色水果。 检查了每种植物的 100 个果实,并计算了每个类别的果实数量。 计算并报告了每个类别中水果的百分比。 该研究的问题是:化学处理是否有效?

不要将堆积条形图与平均分离图混用

第一个堆积条形图可以作为可视化比例数据的标准方法。 很明显,所有类别加起来都是 100%, 化学处理强烈地将颜色轮廓转移到最发达的阶段(深蓝色)。

中间堆积条形图有问题, 主要是因为它想同时执行两个不同的数据可视化任务。 当误差线和点叠加到堆叠的条上时, 目前尚不清楚正在比较哪些误差线和点。 由于堆叠柱的性质,上层堆叠的误差线和点必须向上移动, 因此,误差线和点的 y 轴的解释变得不简单。

最后,如果可视化的要点是均值周围的均值分离和离散, 第三张图是更好的选择。 在进行比较方面没有含糊不清。 如第一个堆积条形图所示, 化学处理大大增加了深蓝色果实的比例, 以牺牲颜色较浅的水果为代价。

结论 (?)

现在就是这样。当我有时间(和灵感)制作更多示例时,我会更新它。 不确定下一个会是什么,但请继续关注!