更新圖形生成器的元素語句您好 - 我想將圖形生成器的盒須圖的樣式更改為 JSL 腳本內的點圖。 圖形生成器最初包含一個 Elements 語句,如下所示:
Elements( Box Plot( Y, Legend( 9 ) ) ),
因此,我想將該語句從 JSL 修改為:
Elements( Points( Y, Legend( 9 ) ) ),
我在腳本索引中找到了 GraphBuilderBox 的 << 添加元素、<< 更新元素和 << 刪除元素命令,但我不知道如何應用它們來實現我想要的效果。 索引中給出的示例(添加回歸線)與我的情況沒有直接關係,但我猜我需要一些東西喜歡以下內容,其中 gb 是我的圖形生成器對象:
report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), Y})
但這顯然是不對的 - 所以我只需要一個例子來告訴我正確的語法應該是什麼。 有人可以幫我解決這個問題嗎?
非常感謝。
回复:更新圖形生成器的元素語句它可能不優雅,但它有效 - 最終這才是最重要的!
非常感謝。
回复:更新圖形生成器的元素語句我明白你現在的問題是什麼。 由於您使用的是 X 分組,而不是實際的 X 變量,因此元素的索引不是標準的。 根據文檔:
obj << Get Element(xposition, yposition, i )
但是,使用 X 分組,而不是 X,似乎無法使用 (1,1,1) 訪問第一個元素, (0,1,1), (.,1,1)或我嘗試過的其他任何東西。因此,這就是我的想法:臨時定義一個 X 變量,以便您可以訪問該元素,然後在進行所需的更改後刪除該 X 變量。 我覺得它完全不優雅,但它確實有效。 我將嘗試找出在未定義 X 時是否有正確的方法來訪問元素,因此您不需要此解決方法。
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Variables( Y( :height ), Group X( :sex ) ),
Elements( Box Plot( Y, Legend( 10 ) ) )
);
wait( 1 );
gbb = Report( gb )[Graph Builder Box( 1 )];
//define an X temporarily
gbb << Add Variable( {:age, Role( "X" )} );
gbb << Remove Element(1, 1, 1);
gbb << Add Element(1, 1, {Type( "Points" ), X, Y, Legend( 5 )});
//remove the X
gbb << Remove Variable( {:age, Role( "X" )} );
回复:更新圖形生成器的元素語句嗨朱利安,
我現在更接近理解這個問題了,但不幸的是我還沒有完全理解。我的情況和您的示例之間的區別在於,我使用離散分組變量而不是連續 X 變量:腳本的以下變體說明了該問題:
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Variables( Y( :height ), Group X( :sex ) ),
Elements( Box Plot( Y, Legend( 10 ) ) )
);
wait( 1 );
gbb = Report( gb )[Graph Builder Box( 1 )];
// How do I modify the following two lines to replace the Box Plot above by Points?
gbb << Remove Element(1, 1, 1);
gbb << Add Element(1, 1, {Type( "Points" ), X, Y, Legend( 5 )});
如果你能告訴我如何修改最後兩行,問題就會解決。
回复:更新圖形生成器的元素語句你好@DMR ,
Update Element() 將更改現有元素的屬性,但據我所知,不允許您更改元素的類型。 嘗試刪除現有元素並添加新元素。 下面的例子。
希望這可以幫助!
@朱利安
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Box Plot( X, Y, Legend( 4 ) ) )
);
Wait(1);
gbb = Report( gb )[Graph Builder Box( 1 )];
gbb << Remove Element(1, 1, 1);
gbb << Add Element(1, 1, {Type( "Points" ), X, Y, Legend( 5 )});