你好,
您知道如何從 JSL 腳本級別獲取 GraphBuilderGroupBox“名稱”嗎? 在附圖中,它將是“男性”或“女性”(用紅色圓圈標記)。 我的猜測是有一個與 << xpath( "//GraphBuilderGroupBox" )) << Get Window Title 類似的命令。 然而它不起作用。
這是代碼:
dt = Open( "$SAMPLE_DATA/Academic Achievement.jmp" );
win = dt << Graph Builder(
Size( 570, 475 ),
Variables( X( :Year4 ), Y( :Year2 ), Group X( :Female ) ),
Elements( Points( X, Y, Legend( 8 ) ), Smoother( X, Y, Legend( 9 ) ) )
);
GroupBoxName = (win << xpath( "//GraphBuilderGroupBox" )) << Get Window Title; //<<CLASS name="" show=""></CLASS>
我在擴展代碼中需要它,我將不同表中的 FrameBox 粘貼到 1 GB 上。 只要我不使用本地數據過濾器,框架框就會保持“正確”的位置,否則繪製的數據就會混亂。 我使用 JMP 16.1。
感謝您的建議!
問候,
李

不確定您是否可以從圖形生成器訪問這些“名稱”(分組)。 您可以通過使用 << Get XML on win 變量來檢查可以使用 Xpath 訪問的內容,並且基於此,沒有提及“女性”和“男性”。 另外從“顯示樹結構”和“顯示屬性”檢查我也看不到它們:

要獲取對 GraphBuilderGroupBox 的引用,您可以使用:
gbgb = Report(win)[GraphBuilderGroupBox(1)];
//or
gbgb = (win << XPath("//GraphBuilderGroupBox"))[1]; //it is a list so use index可以使用變量訪問 X 組,但我不確定它在這裡是否有幫助:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Academic Achievement.jmp");
win = dt << Graph Builder(
Size(570, 475),
Variables(X(:Year4), Y(:Year2), Group X(:Female)),
Elements(Points(X, Y, Legend(8)), Smoother(X, Y, Legend(9)))
);
//win << get xml
gbb = Report(win)[Graph Builder Box(1)];
wait(1);
gbb << Remove Variable(3);
gbb << Add Variable({:Female Binary, Role("Group X")});編輯:
如果您只需要 Female 列的值,您可以直接從數據表中獲取它們。 由於這些是值標籤,因此您必須獲取值標籤屬性
(Column(dt, "Female") << Get Column Properties())["Value Labels"]