<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Kaiser Fung 最近批评了这张可支配收入变化图表。

他提出了使用分类斜率图的想法:

我们如何在 JMP 中做类似的事情? 我们可以在 Graph Builder 中进行可变颜色的面板和线条;我们只需要将数据转换为正确的形式。 像往常一样,在 Graph Builder 中制作斜率图的关键步骤是使用 Table > Stack 将两个数据列转换为标签列和数据列。 然后标签列在 X 轴上,数据列在 Y 轴上。
首先我们需要获取数据。 有时,当我进行快速重制时,最简单的做法是立即从图表中读取数据。 有一些程序和网站可以帮助解决这个问题。 这一次,我使用了在线应用程序,网络绘图数字化仪,它为每个系列生成了一个单独的 CSV 文件。 当然,这些值只是对原始值的估计。
打开两个 CSV 文件并将列名设置为“x”和“y”后,我编写了以下脚本来组合它们并计算一些派生值。
dt1 = Data Table( "data" );
dt2 = Data Table( "data (1)" );
dt = New Table( "changes",
New Column( "Percentile", Format( "Percent", 8, 0 ), Set Values( (1 :: 100) / 100 ) ),
New Column( "Base", Format( "Percent", 8, 1 ) ),
New Column( "Change2010", Format( "Percent", 8, 1 ) ),
New Column( "Change2013", Format( "Percent", 8, 1 ) ),
New Column( "Net2010", Format( "Percent", 8, 1 ) ),
New Column( "Net2013", Format( "Percent", 8, 1 ) ),
New Column( "Group", Character ),
New Column( "Rank" )
);
For Each Row(
dt,
dt:Base = 1.0;
dt:Change2010 = Interpolate( dt:Percentile, dt2:x << Get Values(), dt2:y << Get Values );
dt:Change2013 = Interpolate( dt:Percentile, dt1:x << Get Values(), dt1:y << Get Values );
dt:Net2010 = dt:Base * (1 + dt:Change2010);
dt:Net2013 = dt:Net2010 * (1 + dt:Change2013);
dt:Group = If(
dt:Percentile <= 0.1, "Bottom 10%",
dt:Percentile <= 0.9, "Middle 80%",
"Top 10%"
);
dt:Rank = If(
dt:Percentile <= 0.1, dt:Percentile / .1,
dt:Percentile <= 0.9, (dt:Percentile - .1) / .8,
(dt:Percentile - .9) / .1
);
);
插值是将“x”值与偶数百分比值对齐。 Group 和 Rank 用于控制我们在 Graph Builder 中如何分组和着色。 Base 和 Net 值是因为我想尝试一些与 Kaiser 所做的不同的东西。 仅仅看到损失和收益百分比不足以看到净效应,所以我明确计算净效应并用图表代替。
将 Base2007、Net2010 和 Net2013 三列堆叠后,我可以创建折线图。 我将 Group 放入 Group X 角色,将 Rank 放入 Color 角色,添加了 100% 的参考线并更新了标签。

我刚刚意识到,即使我需要计算的基值,我实际上并不需要显示它们。 在使用本地数据过滤器排除 Base2007 并按照 Kaiser 的示例精简中间组后,我得到:

附上最终数据表。
更新: 正如凯撒在推特对话,计算净值不一定正确,因为我们不知道每个时期的每个百分位组中是否有相同的人。 幸运的是,这些变化在很大程度上是一致的,因此百分位数不太可能发生太大变化,但图表变得比以前更加接近。
如果您希望重新创建斜率图或分析可支配收入变化(如前所述), 在线绘图数字化仪将非常有用。它允许您直接从图表图像中提取数据,确保准确性并节省时间。这可以帮助您快速准备数据集以在 JMP 或其他工具中进行可视化,从而简化对齐和解释数据以获得有意义的见解的过程。对于可视化趋势或创建类似于 Kaiser 示例的斜率图等任务,它是一个强大的伴侣。