在 GraphBuilder 中,如果按下,用户可以“同时与多个 FrameBoxes 同步对话” CTRL触发动作时:
https://community.jmp.com/t5/Discussions/Remove-non-labels-from-hovering-information/mp/561258/highlight/true#M77431
https://community.jmp.com/t5/JMP-Wish-List/Use-CTRL-to-talk-to-multiple-boxes-in-Graph-Builder/idc-p/561263#M2946
很方便 :)
现在,我问自己,如果出现额外的 Framebox 会发生什么——要么是因为向数据表中添加了行,要么是因为更改了数据过滤器。
令人惊讶的答案(如果从 2-3 个示例推断是正确的):
如果全部的设置全部现有的框架盒是确切地同样,这组通用设置被克隆到新的 FrameBoxes。 (*)
另一方面,如果存在微小差异(此处:不同的填充选择模式),则不会发生克隆——即使是相同的设置也不会发生,如下例中的背景设置。
在第二步中,GraphBuilder 再次被限制为 2 个 Framebox,并且两者都匹配了 Fill Selection Mode。
然后,当释放数据过滤器限制时,设置被克隆到所有新的 FrameBoxes ( = (*))
这解释了 Graph Builder 的一些“奇怪”行为,我之前注意到但无法准确描述以得到“为什么”的提示:
有时,当一个图被分割成子图时,设置会自动继承,有时用户必须为子图再次设置设置。
乍一看,我认为对继承进行更详细的(是/否)控制可能会有所帮助,例如:
通过图例右侧上下文菜单手动应用的颜色和标记设置可以继承到新的 FrameBoxes甚至如果现有图表具有不同的选择模式。
但可能会有反驳的论点......
查看更多...dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 534, 496 ),
Show Control Panel( 0 ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :weight ), Wrap( :age ) ),
Elements( Points( X, Y, Legend( 9 ) ), Smoother( X, Y, Legend( 10 ) ) ),
Local Data Filter(Add Filter( columns( :age ), Where( :age == {12, 13} ) ) )
);
frameboxes = Report( gb ) << xpath( "//FrameBox" );
For Each( {fb, idx}, frameboxes, fb << Background Color( 10 ) );
frameboxes[1] << Fill Selection Mode( "Selected Darker" );
Wait( 2 );
gb << Remove Local Data Filter;
wait(2);
gb << Local Data Filter( Add Filter( columns( :age ), Where( :age == {12, 13} ) ) );
frameboxes = Report( gb ) << xpath( "//FrameBox" );
For Each( {fb, idx}, frameboxes, fb << Fill Selection Mode( "Selected Darker" ) );
Wait( 2 );
gb << Remove Local Data Filter;