모두,
여러 매개변수가 있는 GB 플롯을 스크립팅하는 가장 좋은 방법에 대한 입력을 요청하고 싶습니다.
다음과 같은 테이블이 있다고 가정해 보겠습니다.
New Table( "Untitled 140",
Add Rows( 12 ),
New Column( "Category",
Character,
"Nominal",
Set Values( {"A", "A", "A", "B", "B", "B", "C", "C", "C", "D", "D", "D"} )
),
New Column( "Value1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 4, 2, 3, 6, 2, 3, 5, 4, 1, 3, 6] )
),
New Column( "Value2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [6, 3, 5, 2, 8, 6, 5, 2, 6, 3, 5, 4] )
)
)그리고 다음과 같은 플롯을 스크립팅하고 싶습니다.

여기서 자동 생성된 스크립트는 다음과 같습니다.
;Graph Builder(
Size( 522, 450 ),
Show Control Panel( 0 ),
Variables( X( :Category ), Y( :Value1 ), Y( :Value2, Position( 1 ) ) ),
Elements( Bar( X, Y( 1 ), Y( 2 ), Legend( 4 ), Summary Statistic( "Range" ) ) )
)
임의의 수의 Y 열이 있고 이름도 임의적이라는 캐치가 있습니다.
가변성 플롯과 같은 플롯의 경우 다음과 같습니다.
parameters = {:"Value1"n, :"Value2"n};
yExpr = Expr( Y() );
For Each( {value, index}, parameters, Insert Into( yExpr, Name Expr( value ), 1 ) );
Eval(
Substitute(
Expr(
Variability Chart( placeholder, X( :Category ), Std Dev Chart( 0 ) )
),
Expr( placeholder ), Name Expr( yExpr )
)
);여기서 열 이름을 목록으로 받은 다음 Y 표현식을 구성한 다음 차트의 스크립트에 넣습니다. 그것은 나에게 변동성 플롯의 목록을 줄 것이지만 그것은 나에게 괜찮습니다.
GB의 경우 동일한 경로를 사용하려면 두 가지 표현식을 구성해야 할 것 같습니다.
Y( :Value1 ), Y( :Value2, Position( 1 ) )
그리고
Elements( Bar( X, Y( 1 ), Y( 2 ), Legend( 4 ), Summary Statistic( "Range" ) ) )
본질적으로 전체 스크립트입니다.
내 질문: 그 두 줄을 조합하기 위해 표현식으로 많은 것을 대체하는 것보다 더 나은 방법이 있습니까?
감사!