如何通過傳遞變量來設置legendbox的位置?嗨,
我想通過列表設置LegendBox位置,如下面的jsl,但它不起作用。如何將“mylist”傳遞到位?
列表“mylist”將是來自其他函數的動態結果,因此我需要在設置圖形構建器時傳遞變量或在公告後更新圖形構建器。
我需要像圖片那樣的圖表圖例框。
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Show Control Panel( 0 ),
Variables(
X( :height ),
Y( :weight ),
Overlay( :sex )
),
Elements(
Points( X, Y, Legend( 0 ) ),
Smoother( X, Y, Legend( 1 ) )
)
);
mylist={-1, -1, 1, 0};
Report( gb )[LegendBox( 1 )] << Position(mylist ); 
Re:如何通過傳遞變量設置legendbox位置?位置消息顯然不支持在執行之前進行評估,因此通過使用Substitute()函數可以強制進行評估。
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements(
Points( X, Y, Legend( 0 ) ),
Smoother( X, Y, Legend( 1 ) )
)
);
mylist = {-1, -1, 1, 0};
Eval(
Substitute(
Expr(
Report( gb )[LegendBox( 1 )] << Position( __myList__ )
),
Expr( __myList__ ), myList
)
);