我有一个包含八个因素和四个响应的模型。 我想创建一个热图,显示哪些因素对哪些响应很重要。我希望能够定义自己的色阶,例如:
<0.0001 至 0.01 = 橙色
0.001 至 0.05 = 红色
> 0.05 = 白色
我已经在图形生成器中使用了渐变,但不知道如何做我想要的。 也许这在技术上不再是渐变,但看起来应该是可能的。下图是我所得到的最接近的图像。

这是脚本片段。 附有保存脚本的完整数据集。
gradient(
{Color Theme( "Green Yellow Red" ), Scale Values( [0 0.05 .] ),
Width( 9 ), Range Type( "Exact Data Range" ),
Reverse Gradient( 1 ), Discrete Colors( 1 ),
N Labels( 5 )}
)
任何建议,将不胜感激。
-汤姆
嗨基拉,
感谢您的帮助。这确实帮助我到达了我想去的地方。
我将向可能正在尝试类似操作的其他人添加更多有关如何执行此操作的详细信息,因为我在 JMP 文档中找不到任何详细信息。
如果右键单击热图图例,选择“渐变”,然后单击“颜色主题”,然后单击“自定义颜色主题”以打开“自定义颜色主题”。这是最终对我有用的设置。

这里似乎只有四个点定义梯度为 0、10、50 和 100%,但事实并非如此。如果您只定义这四个点,您将获得这四个点之间的渐变,例如从 0-10% 的红色到橙色。 如果您希望在 10% 处从红色到橙色,则需要在 10% 处定义红色点和橙色点。用户界面只在那里显示一个标记,因为我们将它用于其设计目的之外的用途。
要获得三个离散的颜色范围,您需要定义六个点,即使由于重叠您只能看到上面的四个点。虽然上面的可视化很有帮助事后,我无法使用它通过移动滑块来获得我想要的东西。 我必须直接编写脚本。 这就是我的代码的样子:
{Color Theme(
{"White to Red p-Value", 2051,
/*0%->red 10%->red 10%->orange 50%->orange 50%->white 100%->white */
{{255,0,0},{255,0,0},{255,165,0},{255,165,0},{255,255,255},{255,255,255}},
{.0000 , 0.1 , 0.1 , 0.5 , 0.5 , 1 }
}正如 Kira 指出的那样,比例因子对于正确来说非常重要。 颜色主题中的值从 0 到 1(定义比例的 0 到 100%)。比例因子将色标“映射”到您的特定变量 - 在我的例子中为 0 到 0.1。
我可以想到其他情况,我想获取连续数据并将其映射到颜色步骤而不是渐变,所以也许有更好的方法在 JMP 中执行此操作,或者只是我缺少的设置。 (我也按照基拉建议的方式做了,创建一个新专栏——这绝对是一个合理的选择。)
我的最终输出如下所示,每个单元格中显示 F 比率:

附件中是原始数据集。 第一个脚本运行模型。 第二部分进入报告,提取 p 值和 f 比率并制作热图。我希望我对导航报告树结构有足够的了解,以使热图脚本足够“智能”,能够在报告中的任何位置找到“效果测试”表。现在,这是硬编码的,因此脚本可能只适用于这个特定的报告。
dt_pvals = report(fls)[outlinebox(1)][TableBox(6)] << make combined data table;
我认为在处理多个因素和响应时,这可能是一个有用的可视化工具。
-汤姆
你好汤姆!
您可以在 JMP 中定义自己的颜色主题。 尝试这样的事情:
Preferences( Add Color Theme(
{"White to Red p-Value", 2051, {{255, 255, 255}, {255, 255, 255}, {252, 187,
161}, {252, 146, 114}, {251, 106, 74}, {239, 59, 44}, {203, 24, 29}, {165,
15, 21}, {103, 0, 13}}, {0, 0.95, 0.96,
0.97, 0.98, 0.99, 0.995,
0.999, 1}}
),
);颜色以 RGB 值编码(例如,{255, 255, 255} 是白色),并且您感兴趣的增量在最后给出(例如,色阶的前 95% 将是当前定义的白色)。 这是第一个草稿,因此您可能需要根据需要更改增量或颜色。 请注意,这将创建一个可在任何图表中使用的新颜色主题。 在图表中,确保包含色阶的“min”和“max”,否则该渐变不会在 0.05 处开始变为橙色:
gradient(
{Color Theme(
{"White to Red p-Value", 2051, {{255, 255, 255}, {255,
255, 255}, {252, 187, 161}, {252, 146, 114}, {251, 106,
74}, {239, 59, 44}, {203, 24, 29}, {165, 15, 21}, {103,
0, 13}}, {0, 0.95, 0.96, 0.97, 0.98, 0.99, 0.995, 0.999,
1}}
), Scale Values( [0 1] ), Reverse Labels( 1 )}
)然而,一位统计学家的旁注是:实际上,只要 p 值低于阈值(例如 0.05),p 值有多小并不重要。 您唯一应该感兴趣的是:它是否显着(例如小于 0.05)。 因此,一个简单的公式列指示 p 值是否小于 0.05 并按其着色应该非常适合您的应用程序。
希望有帮助!
基拉