X축 순서의 변화를 어떻게 감지하나요?X축 순서 변경을 어떻게 감지할 수 있나요? 다음 JSL을 사용하여 배경색을 표시하고 있지만, 아래 이미지와 같이 사용자가 X축 순서를 변경할 수 있습니다. 사용자가 그래프를 변경했음을 감지하지 못하면 이전에 표시된 배경색 영역이 새 순서를 따르지 않고 업데이트되지 않습니다.
예를 들어, 원래 나이를 13세로 표시했는데 사용자가 순서를 '오름차순, 체중'으로 변경하면 빨간색 표시가 고정되는 대신 나이 13세의 위치로 올바르게 업데이트되도록 사용자가 순서를 변경했다는 것을 알아야 합니다.
사용자가 X축 순서를 변경하는 경우 이를 감지하는 데 사용할 수 있는 방법은 무엇인가요? 아니면 배경색 표시를 순서에 따라 자동으로 변경하려면 어떻게 해야 하나요?
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
GraphX =dt<< Graph Builder(
Size( 534, 450 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :weight ), Overlay( :sex ) ),
Elements( Box Plot( X, Y, Legend( 4 ) ) )
);
rep1 = GraphX << report;
frameboxDCRFH = rep1 << XPath( "//FrameBox" );
frameboxDCRFH << Add Graphics Script(
Transparency( 0.1 );
Fill Color( "Red" );
Rect( 0.5, Y Origin() + Y Range(), 1.5, Y Origin(), 1 )
;
);

자동화 및 스크립팅Re: X축 순서의 변화를 어떻게 감지하나요?그런 핸들러를 사용할 수 없을 것 같아서 그래픽 스크립트에서 이를 고려하거나 별도의 플롯을 사용하여 색상을 지정해야 할 것 같습니다. 그래픽 스크립트에서 이를 고려하는 한 가지 방법은 다음과 같습니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(534, 492),
Show Control Panel(0),
Variables(X(:age), Y(:weight), Y(:Column 6, Position(1)), Overlay(:sex)),
Elements(
Box Plot(X, Y(1), Legend(4)),
Points(X, Y(2), Overlay(0), Legend(6), Summary Statistic("Median"))
)
);
fb = Report(gb)[FrameBox(1)];
fb << Add Graphics Script(
fb = Report(gb)[FrameBox(1)];
barseg = fb << Find Seg(MarkerSeg(1));
xval = (barseg << Get X Values)[1];
Transparency(0.1);
Fill Color("Red");
Rect(xval - 0.5, Y Origin() + Y Range(), xval + 0.5, Y Origin(), 1)
);
6열에 대한 공식
If(:age == 13,
Col Median(:weight, :age),
.
)
색상에 대한 막대형 차트 추가


Re: X축 순서의 변화를 어떻게 감지하나요?그리고 "추가" 열을 오른쪽으로 이동하면 플롯을 개선할 수 있습니다.

Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("Column 6", Numeric, "Continuous",
Set Property(
"Axis",
{Show Major Ticks(0), Show Minor Ticks(0), Show Labels(0), Min(0.49),
Max(0.5), Inc(0.2), Minor Ticks(0), Label Row(
{Show Major Labels(0), Show Major Ticks(0), Show Minor Ticks(0)}
)}
),
Formula(
If(:age == 13,
1
,
.
)
);
);
gb = dt << Graph Builder(
Size(712, 621),
Show Control Panel(0),
Variables(X(:age), Y(:weight), Y(:Column 6, Position(1), Side("Right")), Overlay(:sex)),
Elements(Bar(X, Y(2), Overlay(0), Legend(9), Summary Statistic("Median")), Box Plot(X, Y(1), Legend(4))),
SendToReport(
Dispatch({}, "400", ScaleBox, {Legend Model(9, Properties(0, {Fill Color(67), Transparency(0.2)}, Item ID("Median(Column 6)", 1)))}),
Dispatch({}, "Y r title", TextEditBox, {Set Text("")}),
Dispatch({}, "400", LegendBox, {Legend Position({9, [2], 4, [0, 1, -3, -3]})})
)
);
Re: X축 순서의 변화를 어떻게 감지하나요?오른쪽 축을 제거하고 싶습니다. 하지만 아래 그림처럼 "표시 속성"을 직접 수정하고 표시 여부를 숨김으로 설정하는 방법만 알고 있습니다. JSL을 사용하여 이 설정을 어떻게 구현할 수 있을까요?

Re: X축 순서의 변화를 어떻게 감지하나요?JSL을 사용하여 범례 설정에서 중앙값 마커를 자동으로 제거하고 싶습니다. 아래 이미지는 수동으로 제거하는 방법을 보여줍니다. JSL을 사용하여 중앙값 마커를 숨기려면 어떻게 해야 하나요?

Re: X축 순서의 변화를 어떻게 감지하나요?축 설정은 어떻게 되나요? 이 설정을 사용하면 대부분의 축을 숨기거나 제거할 수 있습니다. 막대 차트에 점을 사용하지 않는 한 Median은 마커를 추가하지 않아야 합니다. 마커가 아니라 범례 항목을 말하는 것이라면, 수동으로 숨기고 스크립트를 복사하는 것이 가장 쉽습니다.
Re: X축 순서의 변화를 어떻게 감지하나요?
파생적인 질문이 있습니다.
원래 그래프에 이미 '색상'이라는 라벨이 붙은 변수가 있고 막대 차트 색상을 빨간색으로 조절할 수 없는 경우, 빨간색을 유지하기 위해 어떻게 수정해야 할까요?
다음 JSL은 이 두 가지 사항을 다루어야 합니다.
1. 변수에 color()를 추가합니다.:
변수(X(:age), Y(:weight), Y(:Column 6, Position(1), Side("Right")), Overlay(:sex),
색상("성별")
),
2. 채우기 색상()을 빨간색으로 변경합니다. Dispatch({}, "400", ScaleBox, {Legend Model(9, Properties(0, { 채우기 색상("빨간색") , 투명도(0.2)}, 항목 ID("중앙값(열 6)", 1)))}),
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("Column 6", Numeric, "Continuous",
Set Property(
"Axis",
{Show Major Ticks(0), Show Minor Ticks(0), Show Labels(0), Min(0.49),
Max(0.5), Inc(0.2), Minor Ticks(0), Label Row(
{Show Major Labels(0), Show Major Ticks(0), Show Minor Ticks(0)}
)}
),
Formula(
If(:age == 13,
1
,
.
)
);
);
gb = dt << Graph Builder(
Size(712, 621),
Show Control Panel(0),
Variables(X(:age), Y(:weight), Y(:Column 6, Position(1), Side("Right")), Overlay(:sex),Color("sex")),
Elements(Bar(X, Y(2), Overlay(0), Legend(9), Summary Statistic("Median")), Box Plot(X, Y(1), Legend(4))),
SendToReport(
Dispatch({}, "400", ScaleBox, {Legend Model(9, Properties(0, {Fill Color("Red"), Transparency(0.2)}, Item ID("Median(Column 6)", 1)))}),
Dispatch({}, "Y r title", TextEditBox, {Set Text("")}),
Dispatch({}, "400", LegendBox, {Legend Position({9, [2], 4, [0, 1, -3, -3]})})
)
);
Re: X축 순서의 변화를 어떻게 감지하나요?막대형 차트 변수에서 색상을 비활성화하고 색상을 변경하시겠습니까?
Re: X축 순서의 변화를 어떻게 감지하나요?그래프 사용자 정의에서 막대 색상을 설정했지만 아무런 변화가 없습니다.
아니면 다른 패널에서 막대 색상을 설정해야 할까요? 막대 색상을 설정할 수 있는 다른 곳을 찾을 수가 없었습니다.

Re: X축 순서의 변화를 어떻게 감지하나요?스크립트를 실행한 후 막대(오른쪽)의 색상을 비활성화합니다.

그러면 Median(열 6)을 수정할 수 있습니다.
