图形/图例灵活性<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我有一些工作脚本可以操作数据表并创建图表.....一切都很好......
但是,我想适应数据随时间的变化。例如——目前有 5 个级别的优先级可以在数据库中报告(即 Blocker、Critical、Major、Minor、Trivial)----但并非所有级别都在每个报告期间都被用户使用(例如 Critical、Critical、Major、Minor、Trivial) Major, Minor 可能是特定报告期的唯一条目).....用户很可能会在未来的特定报告期包括所有(即所有 5 个)优先级。另外 --- 在下一个报告周期中,用户可能只使用其中的 3 个优先级。
我的困境 --- 我当前的图形脚本只容纳固定数量的优先级 ---- 所以如果我将它构建为只处理 4 那么我可能会排除图形上的数据 ---- 我试图强制它总是显示 5 个优先级,但它似乎弄乱了图例(标签/颜色的错误顺序)......有没有办法根据要在“覆盖”中使用的数据值使其动态化?
// Build the visualization Graph to show severity of open defects//
wind = New Window( "Open Defects by Severity",
Graph Builder(
Size( 570, 616 ),
Show Control Panel( 0 ),
Variables(
X( :Name( "Affects Version/s" ) ),
Group Y( :Open_Defects ),
Overlay( :Priority )
),
Elements(
Bar( X, Legend( 2 ), Bar Style( "Stacked" ), Summary Statistic( "N" ) )
),
SendToReport(
Dispatch(
{},
"Affects Version/s",
ScaleBox,
{Show Major Ticks( 0 ), Rotated Labels( "Automatic" )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
2,
Properties( 3, {Line Color( -10931939 ), Fill Color( -10931939 )} ),
Properties( 2, {Line Color( -2062516 ), Fill Color( -2062516 )} ),
Properties( 1, {Line Color( -11722634 ), Fill Color( -11722634 )} ),
Properties( 0, {Line Color( -3383340 ), Fill Color( -3383340 )} )
)}
),
Dispatch( {}, "400", LegendBox, {Position( {3, 2, 1, 0} )} )
)
)
);

回复:图形/图例灵活性夏姆,
谢谢你! 帮助很大!
坤
回复:图形/图例灵活性看起来您完成了将数据调整为正确形状的困难部分。 如果只是需要控制的特定颜色,请尝试在每一列上使用值颜色列属性(您可以使用标准化属性菜单项一次设置它们)。

回复:图形/图例灵活性轩,
感谢您的帮助。您的建议似乎无法解决我的问题。 我试图再次在这里更好地解释我的需求。 正如您所附的“实验室样本输入”表,我在这里记录所有样本输入类型、时间和顺序。 我尝试将最终图形输出作为附加的“所需图形输出”。 颜色表示不同的样品类型。 样品输入的顺序对我们来说非常重要。 最早的条目将位于每天的第一行。 最后一个条目将位于每天的最后一行。 每个细胞意味着一个样品批次。
在转换原始表以获得转换表后,我已经使用单元格图进行了测试。 但是,正如您在附加的单元格图中可以找到的那样,我无法获得所需的颜色。 JMP 似乎总是从第一种产品开始着色。 这不是我想要的方式。 我需要为每种类型的样本修复颜色。
你能给我一些建议吗? 提前谢谢你。
坤
回复:图形/图例灵活性坤,
如果您为间隙添加填充白色类别,则堆积条可能会起作用。 另一个想法是图形生成器中的热图元素。 附上图片。 您是否可以制作散点图并为每个点选择一个填充的矩形标记。
回复:图形/图例灵活性Kun,我对 JMP 还很陌生,所以我不确定它是否能够产生您所描述的结果……
回复:图形/图例灵活性谢谢你,Twaintwist!
您的表格文件和 JSL 帮助我了解您的问题和最终解决方案。 学习一个重要的应用案例。
在这里,我尝试使用一个条形图来显示我们实验室每天的样品加载类型、顺序和数量。在这里你可以找到总共有21种样品可以进入我们的实验室进行测试。 我试着每天跟踪他们到达的顺序。 我对一种样品使用一种颜色。 如果有相同的连续样本到达,它将是一个具有相同颜色的长条。我附上了一张由excel生成的图表。 你相信我们可以通过jmp JSL方式实现吗?
先感谢您。
坤
回复:图形/图例灵活性坤,
您应该在附件中找到 JMP 脚本(添加行 Script.jsl) , 数据表 ( general_report.jmp ) 和结果的屏幕截图 (之后.jpg )..
该脚本将 5 个新行添加到数据表的顶部,然后在“优先级”列中用 5 个唯一字符名称填充这 5 行。这将确保使用此脚本生成的每个图形都将在图例中显示所有五个名称。我这样做是因为随着时间的推移会生成新的数据表,有些将具有所有 5 个名称,而有些则不会。当他们没有全部 5 个名称时,图例不会保持相同的顺序或配色方案 ---- 所以当比较以前运行的图表时,图例不匹配,这很混乱。通过强制使用 5 个名称,它会产生一致的图例......

回复:图形/图例灵活性Twaintwist,感谢您提出一个重要问题的帖子。 我相信我也有同样的问题。 我有些难以理解您的最终解决方案。 你能附上一个 jmp 表作为我的例子吗? 您能否在此处粘贴包含添加行和设置值的最终 JSl,以便我进行测试。 谢谢你! 坤
回复:图形/图例灵活性好的 --- 这就是我所拥有的,它工作正常...... ---感谢Xan的建议....
我添加了 5 行“空”数据 ---- 每行输入的唯一字段在标记为“优先级”的列中 ---- 该脚本在数据表的开头创建 5 行并填充优先事项包含 5 个条目的列
脚本的其余部分过滤掉这些行,因为这些行中的其他字段没有数据 - 因此这些新行不会破坏生成的图表(即显示额外的优先级数据)。
现在生成的每个图表都显示图例中的 5 个优先级中的每一个,即使这些优先级在原始数据中不存在 ----- 这有助于我们为每个优先级开发的配色方案以及它们的显示顺序保持一致传奇。 ---- 我们使用并排图表填充 PowerPoint,因此重要的是图例中的配色方案和顺序保持一致......
回复:图形/图例灵活性轩:
我也在考虑这个 ----- 但我担心它会“添加”假数据 ----- 但你向其他列添加缺失值的建议可能会奏效 --- 我会给它一个尝试
回复:图形/图例灵活性好问题。 我能想到的唯一解决方法是将虚拟行添加到表示所有优先级但其他列缺少值的数据表中。