使用 JSL 在圖形構建器中刪除和添加包裝變量當我通過窗口中的服裝圖形腳本函數在圖形生成器中手動添加一條線,然後用標稱變量將其包裝或分組時,堆疊的窗口將復制相同的服裝線。
在圖形窗口中右鍵單擊 --> 自定義 --> 單擊“+”按鈕(添加“腳本”條目)並添加線腳本(例如使用示例 --> “拖線”選項)。
但是如果我隨後將腳本保存到數據表中,每個窗口現在都有一個添加服裝圖的條目並且會變得很長。 我需要編寫一個複雜的 for 循環來將圖形代碼添加到每個窗口。
我想在 JSL 中手動執行相同的步驟:
- 創建圖表
- 設置服裝線
- 添加換行列
圖形腳本回复:使用 JSL 在圖形構建器中刪除和添加包裝變量用於添加和刪除包裝變量的代碼片段。 這來自在線發現峰會 2021 unsession JSL 腳本。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
//make initial graph
gb = Graph Builder(
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y ), Smoother( X, Y ) )
);
//get a reference to the grab builder box
gbb = Report( gb )[Graph Builder Box( 1 )];
Wait( 1 );
//add a wrap variable to demonstrate adding
gbb << Add Variable( {:age, Role( "Wrap" )} );
Wait( 1 );
//remove wrap variable
gbb << Remove Variable( {:age, Role( "Wrap" )});
Wait( 1 );
//add graphics script
gbb[frame box( 1 )] << Add Graphics Script(
2,
Description( "" ),
If( Is Empty( g_x4 ),
g_x4 = [52.92, 68.48, 70.56];
g_y4 = [119.69, 139.30, 124.01];
);
Drag Line( g_x4, g_y4 );
);
//add wrap variable
gbb << Add Variable( {:age, Role( "Wrap" )} );腳本由@朱利安多謝。
回复:使用 JSL 在圖形構建器中刪除和添加包裝變量以下示例使用 <
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
gb = dt << Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 2 ) ), Smoother( X, Y, Legend( 4 ) ) )
);
Report( gb )[FrameBox( 1 )] << Add Graphics Script(
If( Is Empty( g_x1 ),
g_x1 = [50.53, 66.28, 64.49];
g_y1 = [102.99, 45.69, 106.10];
);
Drag Line( g_x1, g_y1 );
);
Report( gb )[Graph Builder Box( 1 )] << Add Variable( {:age, Role( "Wrap" )} );
我希望這有幫助。