将轴链接或锁定在一起?你好,
我是一个相对较新的 JMP 和 JSL 用户,我正在尝试生成包含多个图表的报告。我想将两个图形的 x 轴链接在一起,这样当一个 x 轴被缩放或以其他方式更改(添加参考线等)时,另一个轴也会发生变化。
一些内置平台已经这样做了,例如控制图,它链接“个体测量”和“移动范围”图的 x 轴。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Control Chart( Chart Col( Height, "Individual
Measurement", "Moving Range" ), K Sigma( 3 ) );
如何为我自己的报告/自定义平台/等重现此内容?尽管查看了显示框的树结构和属性,但我还是无法弄清楚控制图报告是如何实现这一点的。
例如,如何使用 JSL 链接以下报告中的两个 x 轴?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Distribution(
Stack( 1 ),
Continuous Distribution(
Column( :height ),
Horizontal Layout( 1 ),
Vertical( 0 ),
Count Axis( 1 )
),
By( :sex )
);
我正在使用 JMP 13.2。
谢谢!
回复:将轴链接或锁定在一起?吉姆,谢谢。
我不认为这与“内置”报告和平台使用的方法相同,因为当我检查内置图和轴时,我在属性中没有看到任何图形脚本。我猜他们正在使用一些未记录的隐藏 API。
但是,我认为您的方法是一种可接受的解决方法,在大多数情况下都应该有效。性能不是很好,但它确实有效。谢谢!
回复:将轴链接或锁定在一起?您可以将脚本附加到框架 box() 以检测 Axis Box() 中的变化,然后将所有轴重置为来自重置的 Axis Box() 的新值。
有关详细信息,请参阅脚本索引。
我通常在 Frame Box << Add Graphics Script 中使用检查 X 原点和 Axis Box() 中的 X 范围变化。
回复:将轴链接或锁定在一起?撞。对此还有其他想法吗?内置平台肯定会使用一些 API/JSL 来实现这一点吗?
回复:将轴链接或锁定在一起?斯坦,
感谢您的回复。这似乎最初将比例设置为相同,但是如果我抓住其中一个轴并更改比例,其他轴不会更新,这就是我想要完成的。IE 我希望将它们链接起来,以便它们始终相互同步,就像控制图平台的报告一样。
还有其他想法吗?
- 埃里克
回复:将轴链接或锁定在一起?你好@ErikSwan ,
我认为您可以使用统一缩放。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Blood Pressure.jmp" );
obj = Distribution( Column( :BP 8M, :BP 12M, :BP 6M, :BP 8W, :BP 12W ) );
obj << Uniform Scaling( 1 );
obj << Lock Scales( 1 );
obj << Stack( 1 );
统一缩放
干杯,
斯坦
回复:将轴链接或锁定在一起?Jim 在这里发布了一个很好的示例解决方案:一个简单的脚本来说明一个图表中的轴变化 控制另一个图表中的轴