변수가있는 눈금 상자 참조
안녕하세요,
for 루프를 사용하여 여러 그래프를 생성하고 Y 축에 열 제목을 지정하려고합니다.
그래프를 그린 후 Dispatch 명령으로 Y 축에 세 개의 참조 선을 추가하려고하지만 Y 축 상자를 동적으로 참조하는 방법을 알 수는 없습니다 (아래 *** 참조).
For( i = 12, i <= 18, i++,
Col_name = Column( i ) << Get Name;
temp = Expr( Col_name );
//Graph Line Data
Split_dt << Graph Builder(
Size( 536, 500 ),
Variables( X( :Year ), X( :Month, Position( 1 ) ), X( :Day, Position( 1 ) ), Y( Column( i ) ) ),
Elements(
Box Plot( X( 1 ), X( 2 ), Y, Legend( 9 ), Jitter( 1 ), Outliers( 1 ), Box Style( "Outlier" ) )
),
SendToReport(
Dispatch(
{},
,
ScaleBox,
{Add Ref Line( 9, Solid, "Black", "LSL" ), Add Ref Line( 21, Solid, "Black", "USL" ),
Add Ref Line( 16, Dashed, "Medium Dark Green", "Target" )}
)
),
SendToReport(
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "Line " || Char( Line_Number ) || " " || Col_name )}
)
)
);
);
이 코드는 JSL이 Col_name을 문자열로 평가하는 것과 같이 "{}"에 ScaleBox [ "Col_name"]을 찾을 수 없습니다.라는 오류를 반환합니다.
Col_name이 가치가 있다고 평가할 수있는 아이디어가 있습니까? 아니면 참조 행을 다르게 추가할까요?
감사!
Re : 변수가있는 스케일 상자 참조JSL을 통해 축에 참조 선을 추가하는 방법은 다음과 같습니다.
Names Default To Here( 1 );
// Make some data and make a graph
dt = New Table( "Test", New Column( "Y", Numeric, Continuous, Formula( Random Normal() ) ), AddRows( 20 ) );
gb = dt << Graph Builder(
Size( 528, 420 ),
Show Control Panel( 0 ),
Variables( Y( :Y ) ),
Elements( Points( Y, Legend( 16 ) ) ),
);
// Template expression to add a reference line
addRefLine = Expr(
gb << SendToReport( Dispatch( {}, "Y", ScaleBox, {Add Ref Line( TBD, "Solid", "Black", "", 1 )} ) )
);
// Loop . . .
For( i = -3, i <= 3, i++,
Wait( 1 );
Eval( Substitute( Name Expr( addRefLine ), Expr( TBD ), i ) );
);
Re : 변수가있는 스케일 상자 참조<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />나는 그래프로 표시하고 참조 행으로 표시하도록 설정하려는 열에 대한 사양 제한을 설정하여 해결 방법을 발견했습니다.

디스패치 (Dispatch) 기능이 변수를 평가할 수있는 방법을 아직 모르겠습니다. 그냥 문자열로 가져옵니다.
Re : 변수가있는 스케일 상자 참조***을 추가하는 것을 잊어 버렸습니다. 아래를 참조하십시오 :
For( i = 12, i <= 18, i++,
Col_name = Column( i ) << Get Name;
temp = Expr( Col_name );
//Graph Line Data
Split_dt << Graph Builder(
Size( 536, 500 ),
Variables( X( :Year ), X( :Month, Position( 1 ) ), X( :Day, Position( 1 ) ), Y( Column( i ) ) ),
Elements(
Box Plot( X( 1 ), X( 2 ), And, Legend( 9 ), Jitter( 1 ), Outliers( 1 ), Box Style( "Outlier" ) )
),
SendToReport(
Dispatch(
{},
ScaleBox,
{Add Ref Line( 9, Solid, "Black", "LSL" ), Add Ref Line( 21, Solid, "Black", "USL" ),
Add Ref Line( 16, Dashed, "Medium Dark Green", "Target" )}
)
),
SendToReport(
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( "Line " || Char( Line_Number ) || " " || Col_name )}
)
)
);
);