识别图形生成器页面标题的标题在下图中,我希望能够识别页面标题:

即“性别= F”和“性别= M”。
查看显示树,标题似乎与类型的显示框相关联GraphBuilderGroupBox:

我有以下脚本:
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Size( 378, 714 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :height ), Y( :weight ), Page( :sex ) ),
Elements( Points( X, Y, Legend( 8 ) ), Smoother( X, Y, Legend( 9 ) ) )
);
rep = gb << report;
lst = rep << xpath("//GraphBuilderGroupBox");
for (i=1,i<=nitems(lst),i++,
title = lst[i] << get text;
)
不幸的是,这不起作用(两个页面的标题=“”)。
有没有人有什么建议?
谢谢,
大卫
大规模定制回复:识别图形生成器页面标题的标题谢谢@Craige_Hales - 看起来这将是一个可行的解决方案。
回复:识别图形生成器页面标题的标题谢谢你的建议@ih 。 想要获取页面标题的具体原因是我不提前知道潜在值的列表(即本例中的 pageOrder )。在实际示例中,图表有 400 多个页面(不要问我为什么有人想要这么大的图表!),并且页面数量会因本地数据过滤器的原因而变化。如果一切都失败了,我将返回尝试构建该列表 - 对于我最初的尝试,我的列表包含大约 460 个元素,而图表只有 407 页 - 也许某些组合由于缺少数据而被排除 - 我没有调查过然而 - 仍在努力寻找阻力最小的路径!
回复:识别图形生成器页面标题的标题对于页面、组和换行变量,您可以设置定义值顺序的列属性,然后使用它来确定哪个图是哪个图。无论如何,我经常想更改列或级别名称,现在这一切都可以在转换列中完成:
Open("$SAMPLE_DATA/Big Class.jmp");
pageOrder = {"Female", "Male"};
Eval( Eval Expr(
gb = Graph Builder(
Size( 378, 714 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(
X( :height ),
Y( :weight ),
Page( Transform Column( "Respondent Sex", Nominal, Set Property("Value Order", {Custom Order( Expr( pageOrder ))}), Formula( if(:sex=="M", "Male", "Female" ) ) ) )
),
Elements( Points( X, Y, Legend( 8 ) ), Smoother( X, Y, Legend( 9 ) ) )
)
) );
旁注:您引用的 GraphBuilderGroupBox 可能不包含该文本,请注意,如果您将可见性设置为隐藏,则标题仍然存在。 我认为这个元素不会出现在树中,就像单个点不在那里一样。如果两者都能访问那就太好了!
回复:识别图形生成器页面标题的标题哇! 那是一个不合作的盒子! 尝试使用rep<
@XanGregg当记录下来时,有问题的盒子会变成更友好的东西。 但在孤立的情况下,在实时图形生成器中,它不会透露任何有关其自身的信息。
回复:识别图形生成器页面标题的标题这是我还没有弄清楚如何直接使用报表层或 Xpath 访问的一个元素//GraphBuilderGroupBox << 获取窗口标题问题。 不确定是否可以使用“获取变量”以某种方式构建它们
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Size( 378, 714 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :height ), Y( :weight ), Page( :sex ) ),
Elements( Points( X, Y, Legend( 8 ) ), Smoother( X, Y, Legend( 9 ) ) )
);
gbb = Report(gb)[Graph Builder Box(1)];
Show(gbb << get variables);
Show(gbb << get variable(1));