안녕하세요,
필요한 것과 비슷한 기능이 있지만 Group by then Fit Spline을 사용합니다. 따라서 유형, grpcolor 및 BP와 같은 다른 그룹화를 가진 플롯이 필요합니다. 주어진 함수에서 그룹화로 grpcolor 만 있습니다. 하지만 제가 필요한 것은이 세 가지 매개 변수 (유형, 숫자, BP)입니다. 이 코드를 아래 주어진 것과 유사한 함수로 어떻게 변환 할 수 있습니까?
플롯 샘플 :
Bivariate( Y( :Cal_I_Jmp ), X( :STO_DCR_TS_LES ),
Fit Where( :BP == "20nm", Fit Spline( 1000, {Line Color( {212, 73, 88} )} ) ),
Fit Where( :BP == "35nm", Fit Spline( 1000, {Line Color( {61, 174, 70} )} ) ),
Fit Where( :BP == "50nm", Fit Spline( 1000, {Line Color( {66, 112, 221} )} ) ),
SendToReport(
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Row Legend(
BP,
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
);기능은 다음과 같습니다.
bivpolyfit = Function( { x_param, y_param, grouping },
biv = Bivariate( Y( Column( y_param ) ), X( Column( x_param ) ), GroupBy( Column( grouping ) ),
<< Fit Polynomial( 2, {Line Width( 2 )}));
rbiv = biv << Report;
rbiv[Framebox( 1 )] << {Marker Size( 3 )};
rbiv[Axisbox( 2 )] << Tick Font( style( 0 ), size( 9 ) ) << Show Major Grid( 1 ) << Show Minor Grid( 1 ) << Show Minor Ticks( 1 ) << {Min( eval(xmin[j]) ), Max( eval(xmax[j]) )/*, Inc( incr[j] )*/};
rbiv[Axisbox( 1 )] << Tick Font( style( 0 ), size( 9 ) ) << Show Major Grid( 1 ) << Show Minor Grid( 1 ) << Show Minor Ticks( 1 ) << {Min( eval(ymin[j]) ), Max( eval(ymax[j]) )/*, Inc( incr[j] )*/};
rbiv[TextEditBox( 2 )] << Set Font Size( 10 ) << Set Font Style( "Bold" );
rbiv[TextEditBox( 1 )] << Set Font Size( 10 ) << Set Font Style( "Bold" );
rbiv[Outline Box( 1 )] << Set Title( y_param||" vs "||x_param );
rbiv["Polynomial Fit Degree=2 ?"] << Close All Like This;
rbiv[Framebox( 1 )] << Row Legend( Column( grouping ), Color( 1 ), Marker( 0 ), Color Theme("JMP Default"), Continuous Scale( 0 ) );
rbiv[Framebox( 1 )] << Row Legend( Column( rdr ), Color( 0 ), Marker( 1 ), Marker Theme("Solid") );
rbiv[BorderBox(3)] << Delete;
rbiv[BorderBox(2)] << Delete;
pbiv = rbiv[OutlineBox( 1 )] << get picture;ppt9 = OutlineBox("IJMP");
yparam = { "Cal_I_Jmp", "Cal_I_Jmp", "Cal_I_Jmp","Cal_I_Jmp"};
xparam = { "STO_DCR_TS_LES", "STO_DCR_TS_MP", "STO_R", "STO_TS"};
lb = LineupBox(NCol(4));
For(j=1, j<=nitems( xparam ), j++,
bivpolyfit( xparam[j], yparam[j], grpcolor );
lb << append(pbiv);
biv << Close Window;
);
ppt9 << append(lb << get picture);
transdt << Clear;