獲取圖形生成器圖中的框架框數量?你好。 我想知道是否有一種好方法來獲取圖形生成器圖中的框架框數量。 我有一個包含 104 個 FB(8 個 X 組,13 個 Y 組)的 GB 圖。 我編寫了一個腳本來更改每個 FB 的標記大小。
Summarize(dtstack, frame_lis = By(:Freq, :Image, :Region));
For(i=1, i<=NItems(frame_lis[1]), i++,
Try(
Report(gb) << Dispatch({}, "Graph Builder", FrameBox(i),
{Marker Size(1)}
)
)
);(歸功於@多發性硬化症在https://community.jmp.com/t5/Discussions/Can-t-change-all-marker-size-in-Graph-Builder-by-script/mp/3928 )。 但就我而言,Summarize 語句高估了 FB 的數量,因為我排除了表中包含某些 Region、Image 或 Freq 值的幾行。 該腳本有效,但是一旦計數器 i 超過 GB 圖中 FB 的實際數量,我就會開始在日誌中收到錯誤消息(“在 {} 處找不到 FrameBox[ "Graph Builder" ]”)。 “Try”語句試圖阻止錯誤消息,但沒有起作用。 無論如何,我寧願通過一開始就計算正確的框架框數量來避免這種情況。 有人有主意嗎?
數據混合和清理大規模定制回复:獲取圖形構建器圖中的框架框數量?謝謝@ih 。 這似乎很有效。 由於某種原因,當我嘗試接受您的答案作為解決方案時,我收到錯誤 - 但這就是解決方案。回复:獲取圖形構建器圖中的框架框數量?要直接回答您的問題,您可以對 XPath 查詢返回的項目進行計數。不過,更好的解決方案是僅將標記大小消息發送到使用 XPath 返回的所有結果,而不是使用 Dispatch。
Names Default To Here( 1 );
dt = Open( "$sample_data\Big Class.jmp" );
gb = Graph Builder(
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ), Group Y( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
);
//Count Frame boxes here
N Items( (gb << XPath( "//FrameBox" )) );
//Or just update them all
(gb << XPath( "//FrameBox" )) << Marker Size( 8 );