저는 x 대 y 사이의 이변량 플롯을 그리거나, 열 'b'의 값으로 그룹화하고, 각 그룹(열 'b'의 고유한 값에서)을 통과하는 선을 맞추는 jsl을 작성하려고 합니다. 제가 한 수동 이변량 플롯에서 생성된 스크립트는 다음과 같지만, 열 'b'의 고유한 값을 통과하는 모든 "Fit Where" 명령에 대해 for 루프를 추가하는 방법을 알아낼 수 없습니다.
Bivariate(
Y( :Name( "y" ) ),
X( :Name( "x" ) ),
Automatic Recalc( 1 ),
Fit Where( :p</img> == "grpA", Fit Line( {Line Color( {228, 26, 28} )} ) ),
Fit Where(
:b == "grpB",
Fit Line( {Line Color( {55, 126, 184} )} )
),
Fit Where(
:b == "grpC",
Fit Line( {Line Color( {77, 175, 74} )} )
),
Fit Where(
:b == "grpD",
Fit Line( {Line Color( {152, 78, 163} )} )
),
Fit Where(
:b == "grpE",
Fit Line( {Line Color( {255, 127, 0} )} )
),
Fit Where(
:b == "grpF",
Fit Line( {Line Color( {166, 86, 40} )} )
),
Where( :c == "TT" & :e == "EE" ),
SendToReport(
Dispatch( {}, "1", ScaleBox, {Reversed Scale} ),
Dispatch( {}, "2", ScaleBox, {Reversed Scale} ),
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Marker Size( 6 ), Row Legend(
e,
Color( 0 ),
Color Theme( "" ),
Marker( 1 ),
Marker Theme( "Standard" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
),
Dispatch( {}, "Linear Fit b==grpA, OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Linear Fit b==grpB", OutlineBox, {Close( 1 )} ),
Dispatch(
{},
"Linear Fit b==grpC",
OutlineBox,
{Close( 1 )}
),
Dispatch(
{},
"Linear Fit b==grpD",
OutlineBox,
{Close( 1 )}
),
Dispatch(
{},
"Linear Fit b==grpE",
OutlineBox,
{Close( 1 )}
),
Dispatch(
{},
"Linear Fit b==grpF",
OutlineBox,
{Close( 1 )}
)
)
);나는 당신이 찾고 있는 것이 groupby() arg라고 생각합니다.색상을 지정하려면 다음과 같이 열 수준에서 수행하는 것이 더 쉽습니다. @txnelson 말했다.
Names default to here( 1 );
dt = open("$SAMPLE_DATA\Big Class.jmp");
biv = dt << Bivariate(
Y( :weight ),
X( :height ),
Group BY(:sex),
Fit line()
);변수 :b에 대한 Column Property에서 색상을 설정하고 By() 요소를 사용하는 것이 더 쉬울 것이라고 생각합니다.
names default to here(1);
:b << set property("value colors",
{"grp8" = {55, 126, 184} }, "grpC" = {77, 175, 74} etc. }
);
Bivariate(
Y( :x ),
X( :y ),
Fit Line( ),<BR /> by( : B )
);Bivariate 플랫폼에는 플랫폼 메뉴 또는 JSL에서 사용할 수 있는 자체 Group By 기능이 있습니다.
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = dt << Bivariate(
Y( :weight ),
X( :height )
);
obj
<< Group By( :sex )
<< Fit Line;