基於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語句並使用該信息來獲取正確的組。
這個主題可能有一些額外的想法識別圖形生成器頁面標題的標題