如何使用脚本设置自动轴缩放?使用 JMP 13,如何使用脚本命令将轴设置为自动缩放。
脚本代码片段显示了一个用于最小值和最大值的简单变量。
SendToReport(
Dispatch(
{},
"val",
ScaleBox,
{Min( Axis_min ), Max( Axis_max ), Inc( 1 ), Minor Ticks( 1 ),
Add Ref Line( 5, "Dotted", "Medium Dark Red", "5", 4 )}
),目标:允许其他东西(用户、脚本、其他)专门设置轴(最小值和最大值)或允许用户选择“自动”。
搜索指南和参考文档显示可以设置为数值,但没有记录任何自动缩放功能。我希望传递“Auto”或句点或其他符号能够起作用,但它们不起作用。
此外,完全忽略最小和最大设置行来实现自动缩放是不可能的,因为它破坏了允许某些东西设置值的目标。
我在这里先向您的帮助表示感谢。
回复:如何使用脚本设置自动轴缩放?抱歉,我将变量从 Axis_min 更改为 A。 以防万一有人没有遵循最初的文档回复:如何使用脚本设置自动轴缩放?解决方案是使用恢复轴功能。然而,要编写此脚本需要一些额外的帮助。
关键是检查轴设置中使用的变量是否为数字。如果不是,则 JMP 返回缺失值。 {参见脚本指南,第 68 页,第 3 章,在“角色函数”下。 这允许检查除数字之外的其他内容,以将轴重置为自动缩放,以及将值传递到脚本函数中。
axisbox(2) 是 y 轴,axisbox(1) 是 x 轴。Report(gp) 是特定图形的对象句柄。
if( ( Is Missing(num( A )) | Is Missing(num( B )) ),
Report(gb)[axisbox(2)] << {Revert Axis}; // axisbox(2) is the y axis
);效果很好。谢谢您的帮助
回复:如何使用脚本设置自动轴缩放?我同意。 不过,通过稍加修改,我就可以编写脚本使其工作。 我在下面发布详细信息。回复:如何使用脚本设置自动轴缩放?我认为,如果您删除 Send to Report() 参数,那么您将不会强制执行特定的轴设置,并且 JMP 将自动缩放轴。 该参数用于在保存脚本时复制设置。 否则就没有必要了。 吉姆的想法是在施加特定设置时的正确解决方案,但删除脚本的这一部分将使额外的步骤变得不必要。
发送到 Report() 不是编写对象脚本的推荐方法。 相反,将消息发送到目标对象。
回复:如何使用脚本设置自动轴缩放?我认为您想要使用的是“恢复轴”消息。它将轴设置回为给定平台自动计算的值。
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = Bivariate( Y( :weight ), X( :height ), FitLine );
rbiv = biv << report;
axisbox = rbiv[axis box( 1 )];
axisbox << Max( 120 );
axisbox << Revert Axis;