基于Framebox内容的自定义注释我想向图形生成器报告的每个单独框架添加注释。这是一个(简单的)例子......
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder( Variables( X( :height ), Y( :weight ), Group X( :sex ), Group Y( :age ) ) );
gb << SendToReport( Dispatch( {}, "Graph Builder", FrameBox, Add Text Annotation( Text( "Female-12" ), Filled( 0 ) ) ) );

在上面的示例中,左上角的 Framebox 中有一个注释“Female-12”。这是通过硬编码方式完成的。我想根据该帧中的数据分组为每个帧添加注释。
理想情况下,我想知道每个框架盒的 X 组和 Y 组是什么,并根据该注释编写注释并将其添加到每个框架盒中。
理想情况下,我还想在对本地数据过滤器进行更改后重做这些注释,以防当有人单击本地数据过滤器时,Framebox # 到分组的分配发生变化。
那么 - 我如何找出每个框架框中有哪些数据?
内容组织数据混合和清理大规模定制回复:基于Framebox内容的自定义注释我不知道答案。我总是通过了解 X 和 Y 分组是什么然后从那里开始进行工作。我怀疑您可以从对象中检索脚本,然后去掉 X 组和 Y 组列,然后从那里开始。
回复:基于Framebox内容的自定义注释虽然您的示例显示了如何向每个框架盒添加注释,但我要问的问题是如何找出该框架盒中的 Y 分组和 X 分组。
回复:基于Framebox内容的自定义注释这是我的处理方式
Names Default To Here( 1 );
//This message applies to all display box objects
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Size( 567, 496 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ), Group X( :sex ), Group Y( :age ) ),
Elements( Points( X, Y, Legend( 11 ) ), Smoother( X, Y, Legend( 12 ) ) )
);
rgb = Report( gb );
rgb[FrameBox( 1 )] << Add Text Annotation(
Text( "Text for FrameBox(1)" ),
Fixed Size( 0 ),
Text Box( {-1, 5, 138, 32} ),
Filled( 0 )
);
rgb[FrameBox( 7 )] << Add Text Annotation(
Text( "Text for FrameBox(7)" ),
Fixed Size( 0 ),
Text Box( {-1, 0, 138, 27} ),
Filled( 0 )
);

回复:基于Framebox内容的自定义注释图形生成器中的分组使用起来有点烦人,但是......您应该知道基于数据表的顺序,并且您还知道您拥有的分组列。 有了这些信息,您也许可以创建注释
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(Variables(X(:height), Y(:weight), Group X(:sex), Group Y(:age)));
Summarize(dt, uniq = By(:sex, :age));
For Each({{a, b}, idx}, Across(uniq[1], uniq[2]),
frame = (gb << report)[FrameBox(idx)];
frame << Add Text Annotation(Text(Eval Insert("^a^ - ^b^")));
);

使用本地数据过滤器,您可能必须解析Where语句并使用该信息来获取正确的组。
这个主题可能有一些额外的想法识别图形生成器页面标题的标题