我正在嘗試編寫一個 jsl 來繪製 x 與 y 之間的雙變量圖,按“b”列中的值分組並在每個組中擬合一條線(來自“b”列中的唯一值)。 從我所做的手動雙變量圖生成的腳本如下,但我無法弄清楚如何為所有通過“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(
:p</img> == "grpB",
Fit Line( {Line Color( {55, 126, 184} )} )
),
Fit Where(
:p</img> == "grpC",
Fit Line( {Line Color( {77, 175, 74} )} )
),
Fit Where(
:p</img> == "grpD",
Fit Line( {Line Color( {152, 78, 163} )} )
),
Fit Where(
:p</img> == "grpE",
Fit Line( {Line Color( {255, 127, 0} )} )
),
Fit Where(
:p</img> == "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 )}
)
)
);