통제 차트에서 특정 지점을 강조 표시하세요안녕,
데이터 포인트 <= 한계값, 이 경우 98%를 강조하고 싶지만, 뭔가가 작동하지 않는 듯합니다. 어디서 오류가 나는지 잘 모르겠습니다.

제 jsl 코드는 다음과 같습니다.
Names Default To Here( 1 );
dt2 = Current Data Table();<BR />
dt2 << begin data update;
fairows = dt2 << get rows where( As Column( "1" ) <= 0.98 );
dt2 << end data update;<BR />
vc1 = dt2 << Control Chart Builder(
Size( 890, 273 ),
Show Two Shewhart Charts( 0 ),
Test Excluded Subgroups( 0 ),
Include Missing Categories( 0 ),
Show Excluded Region( 0 ),
Show Limit Summaries( 0 ),
Variables( Subgroup( :Date ), Y( :"1"n ) ),
Chart(
Points( Statistic( "Individual" ) ),
Limits( Sigma( "Moving Range" ), Show Center Line( 0 ), Show Lower Limit( 0 ), Show Upper Limit( 0 ) )
),
Show Control Panel( 0 ),
SendToReport(
Dispatch( {}, "Control Chart Builder", OutlineBox, {Set Title( "1" )} ),
Dispatch( {}, "Date", ScaleBox, {Label Row( {Label Orientation( "Angled" ), Set Font Size( 8 )} )} ),
Dispatch(
{},
"1",
ScaleBox,
{Add Ref Line( 0.928901607373389, "Dotted", "Medium Light Magenta", "Suggested (92.89%)", 3 ),
Add Ref Line( 0.897380548253792, "Solid", "Orange", "4.5 sigma(89.74%)", 2 ), Add Ref Line(
0.865859489134196, "Solid", "Medium Dark Green", "6 sigma(86.59%)", 2
), Add Ref Line( 0.9, "Dense Dash", "Medium Dark Red", "90.00%", 3 )}
),
Dispatch( {}, "graph display 1 title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "Subgroup display 1 title", TextEditBox, {Set Text( "" ), Set Font Size( 10 ), Set Font Style( "Bold" )} ),
Dispatch( {}, "Y display 1 title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "Control Chart Builder", FrameBox, {Background Color( -15658734 ), Marker Size( 2 ), Marker Drawing Mode( "Outlined" )} )
)
);
//Highlight data points < 98%
Eval(
Eval Expr(
Report( vc1 )[Framebox( 1 )] << add graphics script(
Marker(
Marker Size( 10 );
Color State( "red" );,
Expr( :"1"n[fairows] ),
Expr( :Date[fairows] )
)
)
)
);
자동화 및 스크립팅Re: 관리도의 특정 지점 강조다음은 귀하가 찾고 있는 작업을 수행할 수 있는 하나의 옵션입니다.
Names Default To Here(1);
dt = Open("$DOWNLOADS/data.jmp");
fairows = dt << get rows where(As Column("1") <= 0.98);
vc1 = dt << Control Chart Builder(
Size(890, 273),
Show Two Shewhart Charts(0),
Test Excluded Subgroups(0),
Include Missing Categories(0),
Show Excluded Region(0),
Show Limit Summaries(0),
Variables(Subgroup(:Date), Y(:"1"n)),
Chart(Points(Statistic("Individual")), Limits(Sigma("Moving Range"), Show Center Line(0), Show Lower Limit(0), Show Upper Limit(0))),
Show Control Panel(0),
SendToReport(
Dispatch({}, "Control Chart Builder", OutlineBox, {Set Title("1")}),
Dispatch({}, "Date", ScaleBox, {Label Row({Label Orientation("Angled"), Set Font Size(8)})}),
Dispatch({}, "1", ScaleBox,
{Add Ref Line(0.928901607373389, "Dotted", "Medium Light Magenta", "Suggested (92.89%)", 3),
Add Ref Line(0.897380548253792, "Solid", "Orange", "4.5 sigma(89.74%)", 2), Add Ref Line(
0.865859489134196, "Solid", "Medium Dark Green", "6 sigma(86.59%)", 2
), Add Ref Line(0.9, "Dense Dash", "Medium Dark Red", "90.00%", 3)}
),
Dispatch({}, "graph display 1 title", TextEditBox, {Set Text("")}),
Dispatch({}, "Subgroup display 1 title", TextEditBox, {Set Text(""), Set Font Size(10), Set Font Style("Bold")}),
Dispatch({}, "Y display 1 title", TextEditBox, {Set Text("")}),
Dispatch({}, "Control Chart Builder", FrameBox, {Background Color(-15658734), Marker Size(2), Marker Drawing Mode("Outlined")})
)
);
ms = Report(vc1)[FrameBox(1)] << Find Seg(MarkerSeg(1));
xs = ms << Get X Values;
ys = ms << Get Y Values;
Eval(Eval Expr(
Report(vc1)[Framebox(1)] << add graphics script(
Marker Size(10);
Marker(
Color State("red"),
Expr(xs[fairows]),
Expr(ys[fairows])
)
);
));Re: 관리도의 특정 지점 강조고맙습니다, 자르모!
Re: 관리도의 특정 지점 강조다른 좋은 옵션은 테이블에 새 열을 만들고 그에 따라 행 상태를 추가하는 것입니다(행 범례로 사용할 수도 있음). 이 방법을 사용하면 마커 크기를 쉽게 수정할 수 없습니다.


Re: 관리도의 특정 지점 강조안녕하세요 @jthi 님 ,
어떤 이유에서인지 0.007보다 작은 값을 강조하고 있습니다. 그러나 행을 가져오는 조건이 '>'로 설정되어 있습니다. xs와 ys에 뭔가 잘못된 점이 있습니다. 또한 다른 그래프에 반영되기 때문에 행에 색을 입히고 싶지 않습니다. 그래픽 스크립트가 선호됩니다.

Names Default To Here( 1 );
dt = Current Data Table();
fairows = dt << get rows where( As Column( "861" ) > 0.007 );
vc1 = dt << Control Chart Builder(
Size( 890, 273 ),
Show Two Shewhart Charts( 0 ),
Test Excluded Subgroups( 0 ),
Include Missing Categories( 0 ),
Show Excluded Region( 0 ),
Show Limit Summaries( 0 ),
Variables( Subgroup( :Date ), Y( :"861"n ) ),
Chart( Points( Statistic( "Average" ) ), Limits( Sigma( "Moving Range" ), Show Center Line( 0 ), Show Lower Limit( 0 ), Show Upper Limit( 0 ) ) ),
Show Control Panel( 0 ),
SendToReport(
Dispatch(
{},
"Control Chart Builder",
OutlineBox,
{Set Title( "861 Percent Fail: 1.45%" )}
),
Dispatch( {}, "Date", ScaleBox, {Label Row( {Label Orientation( "Angled" ), Set Font Size( 8 )} )} ),
Dispatch(
{},
"861",
ScaleBox,
{Add Ref Line( 0.00435435825878142, "Solid", "Blue", "3 sigma(0.44%)", 2 ), Add Ref Line(
0.00653153738817213, "Dotted", "Medium Light Magenta", "Suggested (0.65%)", 3
), Add Ref Line( 0.00870871651756283, "Solid", "Medium Dark Green", "6 sigma(0.87%)", 2 ), Add Ref Line(
0.007, "Dense Dash", "Medium Dark Red", "0.70%", 3
)}
),
Dispatch( {}, "graph display 1 title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "Subgroup display 1 title", TextEditBox, {Set Text( "" ), Set Font Size( 10 ), Set Font Style( "Bold" )} ),
Dispatch( {}, "Y display 1 title", TextEditBox, {Set Text( "" )} )
)
);
ms = Report( vc1 )[FrameBox( 1 )] << Find Seg( Marker Seg( 1 ) );
xs = ms << Get X Values;
ys = ms << Get Y Values;
Eval(
Eval Expr(
Report( vc1 )[Framebox( 1 )] << add graphics script(
Marker Size( 10 );
Marker( Color State( "red" ), Expr( xs[fairows] ), Expr( ys[fairows] ) );
)
)
);
Re: 관리도의 특정 지점 강조같은 행과 일치하는지 비교해야 합니다. 그렇지 않은 경우 먼저 데이터를 재정렬하고 , 관심 있는 행을 가져오고, 관리 차트를 작성한 다음 마커를 추가해야 할 수도 있습니다.
Re: 관리도의 특정 지점 강조어떻게 비교할 수 있나요?
Re: 관리도의 특정 지점 강조테이블에서 값을 가져와 xs와 ys의 값과 비교합니다(비교를 수행하는 방법은 무한합니다). 데이터에 단일 중복 값이 있는 것 같고, 이는 잠재적으로 문제를 일으킬 수 있습니다. 데이터 테이블 대신 ys에서 비교를 수행해야 할까요?
r = Loc(ys > 0.007);