《华尔街日报》最近发表了一篇精彩的互动图文,名为“ 20 世纪与传染病作斗争:疫苗的影响”,其中包含一系列图表,按州和年份显示选定传染病的发病率。这是治疗麻疹的。
我的第一印象是,“哇,看起来这个国家有麻疹,疫苗把它清除了。”在可视化应该传达一个观点的程度上,这个可视化成功地展示了疫苗的广泛影响。然而,我又仔细看了看,有几个细节让我感到困扰。
- 需要很多细节才能形成一个点(数据/墨水比率较差)。
- 彩虹般的配色方案使得很难快速比较数值。也就是说,蓝色、绿色和黄色没有感知顺序。
- 各州按邮政编码排序,但显示标准缩写,这就是为什么阿拉斯加位于阿拉巴马州之前。
- 该数据截止于 2002 年,当时的疫苗接种率出现上升,成为新闻中的首要内容。
罗伯特·艾利森(“ 如何让传染病看起来更好”)和安迪·柯克(“ 这是可视化还是我们喜欢的数据”)也对这种可视化进行了批判性的审视。我更感兴趣的是获取数据并尝试在 JMP 中将其可视化的其他方法。
获取数据
我从Project Tycho下载了 CSV 文件,这比我预想的要麻烦。显然,有一个更简单的批量下载,但我没有找到。经过 100 多次手动下载后,我得到了原始数据文件。拿到数据后,遇到了两个惊喜:
- 整个过程中都缺少数据——不仅仅是《华尔街日报》图表所示的地方。
我喜欢制作一些快速的探索性图表,以确保数据看起来合理。这是每周的发病率之一。尽管我降低了透明度,但仍然不足以表明大部分数据低于每 10 万人每周 10 例。不过,您可以看到异常值,我标记了其中一些。我对这个主题不太了解,无法知道这些异常值是否可疑。

处理缺失数据
在开始制作真实的图表之前,我需要一个处理丢失数据的计划。 WSJ 图表本质上将所有缺失值视为 0,除非整年都缺失——然后它们将年份显示为略有不同的颜色(白色而不是浅蓝色)。我决定采取一种不同但仍然人为的方法。我认为早年缺失的数据很可能是未知的,但在后来的几年里,数据似乎更有可能真的是0,只是没有报告,因为当时这种疾病非常罕见。因此,我将缺失值保留到某一年(1975 年),并在该日期之后将缺失值视为 0。这至少可以避免图表右侧的斑点。
再现原作
在深入探索之前,我决定尝试在 JMP 中重现 WSJ 图表。我不得不:

结果非常接近。州的排序略有不同,因为我没有按邮政编码而不是显示的缩写对州进行排序。由于我没有仔细复制颜色,颜色可能会有所不同。当然,缺失数据处理会将一些缺失年份更改为 0。
重新创建颜色主题后,我可以看到其中的一些逻辑。彩虹颜色主题通常不利于连续值,因为不同的色调会被明确地感知,而不是连续地感知。 《华尔街日报》的配色方案本质上是三种不同的方案:
我认为绿色是最困扰我的感知的,所以我想我会在没有绿色的情况下尝试同样的想法。

我们仍然必须选择一些任意的截止值,但我更喜欢没有绿色,因为需要整理的类别较少。这种颜色还将范围限制为 3000。
改变颜色
真正连续的颜色主题怎么样?罗伯特·艾利森使用了白到红的方案,这似乎很合理。单一连续范围的问题在于数据是倾斜的,因此线性颜色应用程序只会突出显示刻度一端的差异。我们可以通过使用分段线性比例并自定义颜色主题来解决这个问题。

奇怪的是,鉴于颜色范围的减少,1945 年全国范围内的下降更容易看到。
我们还可以尝试按平均发生率而不是按字母顺序对各州进行排序。这让我们更容易看出各州并没有像看起来那样受到一致影响。
到目前为止,我一直在展示每年的发病率,就像《华尔街日报》的原文一样。然而,考虑到缺失数据的数量,像艾莉森那样显示每周平均值是有意义的,这样我们只对我们拥有的数据进行平均。显示年费率就像将缺失周的值视为 0。以下是周费率的同一张图表:

差异是微妙的。一个例子是 1934 年的乔治亚州,那里只有 27 周有数据,而且这些周的值相当高。在最初的版本中,1934 年的乔治亚州看起来只是平均水平,因为它被所有被视为零的缺失值冲淡了,但在这里它看起来很高。事实可能介于两者之间——缺失值不太可能为 0 或与非缺失值一样高。
严格的“缺失即缺失”方法并非没有缺陷。为了进行比较,以下是艾莉森的版本,显示了每周平均值。请注意 1997 年佛蒙特州麻疹病例明显激增。这实际上只是一周的数据。所有其他周的数据均丢失。所以看起来这是糟糕的一年,但也许这只是糟糕的一周。

我不知道解决可变数量的丢失数据的最佳方法。当数据丢失时,我尝试让方块缩小。这是更真实的表示,但我不确定额外的复杂性是否值得。此外,大多数时候你几乎无法辨别尺寸差异。

探索其他观点
我最初的想法是随着时间的推移制作一个全国范围的条形图。事实证明,这比我想象的要复杂,因为我需要每年的人口值才能正确汇总各州的发病率。原始数据仅包括每 100,000 人的计数和比率。我想我可以根据计数除以比率来估计州人口(方法 1),但当比率为 0 或非常小时,这种方法会失败。我的另一种方法(方法 2)是根据我在人口普查局网站上找到的一些历史人口值进行插值。在尝试了两者之后,我将它们与情节进行了比较:
10(百万)处的水平线来自计数为 1、比率为 0.01 的年份。费率仅提供至小数点后两位。类似的问题导致异常值达到 70:那一年,德克萨斯州有几周计数为 1,比率为 0.00。我最终使用了一个混合了两种估计的公式,仅考虑计算出的比率,那么比率并不是很小。
这是全国发病率条形图,它很好地表达了原始点,并且更容易看到逐年变化,包括安静的 1945 年。

我不喜欢尖锐的线图,但这里是为下一张图提供上下文的线图。每行都是一个状态。 
我更喜欢光滑者带来的“少即是多”的理念。在这种情况下,您会失去范围,但您可以更好地了解总体趋势和一些异常状态。

结束语
在这项研究中,我本着可重复研究的精神,分享了我所采取的所有处理和绘图步骤的脚本。 Measles Study.ZIP附在我在 JMP 用户社区的The Plot Thickens上发表的这篇文章的原始版本中。拥有脚本还可以轻松尝试不同的缺失值策略。 ZIP 文件包含源 CSV 文件以及我的 JSL 脚本和最终的 JMP 数据表,该数据表本身包含图形脚本。运行名为“Measles Study”的脚本来重新创建文件。您可以将“缺失值为零”变量更改为 1975 年以外的其他年份,以尝试不同的缺失值截止值,或者根本不截止。
尽管到目前为止需要做一些工作,但我认为为了更好的分析还需要做更多的工作。例如,案例存在季节性模式,可用于估算某些缺失值。寻找状态集群或爆发模式可能会很有趣。从视觉上看,范围带可能比线条更好。我想探讨安迪·柯克(Andy Kirk)的想法,即在数据上尝试配色方案,而不会出现如此急剧的下降。使用2002年以后的国家数据怎么样? ...
然而,我必须在某个地方停下来。此外,亲爱的读者,附上所有数据后,也许您会继续探索。
克里斯·格隆写道:
年复一年地显示您的数据的动态美国地理地图怎么样?它将显示疾病如何传播、热点是什么以及它们如何演变。
写得真有趣!但传统的直方图或条形图仍然是最好的吗? 
数据可视化新闻 [82] | Visualoop写道:
[â ▪] 图表改造:麻疹热图 | JMP 博客 [â]
丽莎写道:
这是一篇很棒的文章,非常感谢您的工作!
我想每个读者都从这篇文章中学到了很多东西,包括我。
再次感谢!