使用快捷方式运行自己编写的 JSL 脚本大家好你们好!
在图形生成器中查看某些数据时,我可以在图中标记一个或多个点。 在标记某些内容后,我想通过点击一些键盘快捷键来运行一个自写的 JSL 脚本(它以其他方式在新窗口中绘制数据表中标记的行)。 我必须这样做很多次,我想避免每次打开脚本或切换到脚本窗口并点击开始。 当图形生成器在前台时,是否可以分配键盘快捷键来运行特定脚本?
谢谢!
Re: 使用快捷方式运行自己编写的 JSL 脚本这甚至更好、更快、更容易! 谢谢!Re: 使用快捷方式运行自己编写的 JSL 脚本@gzmorgan0的解决方案是一个很好的解决方案,但它似乎确实依赖于在 JSL 中创建您的 Graph Builder(或其他报告)以添加鼠标框及其相应的键盘快捷键。
您在原始帖子中似乎描述的是交互式创建图表生成器报告,选择一些点,然后在选定的行上执行某些操作。
对于此用例,您可以创建 JMP 插件以在选定行上运行 JSL 并为其分配键盘快捷键。
想象一下,您有这个 JSL,它将当前数据表的选定行着色并标记为蓝色 X。
current data table()<<COLORS></COLORS>
您可以使用文件->新建插件创建一个新的加载项。

在插件生成器窗口中,您可以为为插件创建的菜单命令分配快捷键。

保存并安装此插件后,每当我按下 Ctrl-Shift-B 时,我都会为当前数据表的选定行着色并用蓝色 X 标记。
当然,如果我愿意对何时使用它做出一些假设(例如,仅当我拥有某种结构的数据表时,或者仅当我正在查看特定平台时),我的脚本可以做得更多.
Re: 使用快捷方式运行自己编写的 JSL 脚本哇,太酷了! 谢谢!Re: 使用快捷方式运行自己编写的 JSL 脚本你好。 附上你会发现一个使用鼠标框的示例脚本。
Mousebox 对于交互式图形非常有用,但是,有些功能没有很好的文档记录。
如果您愿意单击按钮,则确实需要使用鼠标框。
当单击键盘上的主页键时,此脚本会运行一个任务。 关于 Mousebox 需要注意的几件事,您只能为 mousebox 参数指定一个显示框。 但是,如果将其设为容器显示框,如 VListBox 或 HListBox,则可以通过鼠标框函数访问多个对象。 另一个需要注意的是,有多个鼠标框功能,并且存在失去焦点的问题。 继续阅读。
此示例中使用的鼠标框函数是 SetKey() 函数。正如 Craig Hales 在 2015 年 12 月所记录的那样,使用某些内置键盘快捷键可能会导致鼠标框失去焦点。 所以这个脚本添加了一个按钮来重新聚焦,这样它就可以被重置。 要进行测试,请使用选择一种手动工具,例如选择(胖加号),然后选择一些箭头键,这些键不再显示。 单击重新聚焦按钮,然后单击箭头键,现在出现按钮的文本。
要测试功能,请从 Graph Builder 图中选择几个点。选择一些箭头键,然后选择主页。 您选择的您的窗口将出现。 进行另一组选择,然后再次单击主页。
如果您希望使用按钮框而不是键盘键来启动任务,则此 Refocus 按钮还提供了一个示例。为了演示,我保留了一个打印键盘键的文本框。 我从 2015 年的 Craig Hales 示例中学到了很多东西,因此脚本包含链接,并且该脚本的设置键功能模拟了他的示例。
此脚本在 JMP 12、13 和 14 中进行了测试。