我有一个包含八个因素和四个响应的模型。 我想创建一个热图,以显示哪些因素对哪些响应很重要。我希望能够定义自己的色标,例如:
<0.0001至0.01 =橙色
0.001至0.05 =红色
> 0.05 =白色
我在Graph Builder中玩过渐变,但是看不到如何做我想要的。 也许从技术上讲,这甚至不再是渐变,但似乎应该是可能的。下图与我所获得的非常接近。

这是一段脚本。 附带已保存脚本的完整数据集。
坡度(
{颜色主题(“绿色黄色红色”),
比例尺值[[0 0.05。]),
宽度(9)
范围类型(“精确数据范围”),
反梯度(1),
离散色(1),
N个标签(5)}
)
任何建议,将不胜感激。
-汤姆
你好汤姆!
您可以在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%将是当前定义的白色)。 这是初稿,因此您可能需要更改增量或颜色。 请注意,这将创建一个可以在任何图形中使用的新颜色主题。 在图表中,请确保在色阶中包含“最小”和“最大”,否则该渐变在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 )}
)希望这可以帮助!
基拉
嗨,基拉,
谢谢你的帮助。那确实帮助我到达了我要去的地方。
由于在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或我缺少的设置中有更好的方法可以做到这一点。 (我也按照Kira的建议进行了此操作,并创建了一个新列-这绝对也是一个合理的选择。)
我的最终输出看起来像这样,每个单元格中都显示了F Ratios:

附件中是原始数据集。 第一个脚本运行模型。 第二个进入报告,提取p值和f比率并绘制热图。我希望我对导航报告树结构有足够的了解,以使热图脚本“足够聪明”,从而无论在报告中的何处都可以找到“效果测试”表。现在,它已经过硬编码,因此脚本可能仅适用于此特定报告。
dt_pvals = report(fls)[outlinebox(1)][TableBox(6)] << make combined data table;
我认为这在处理多个因素和响应时可能是有用的可视化工具。
-汤姆