그래프 빌더에서 지터 켜기/끄기를 토글하는 확인란여보세요,
겹치는 점(지터)의 분리 켜기/끄기를 토글하기 위해 그래프 빌더 보기 위에 확인란 개체를 갖고 싶습니다. 이것은 제어판에서 수행할 수 있다는 것을 알고 있지만 시각화 관점에서는 제어판을 닫은 상태로 유지하고 싶습니다.
그래프 상단의 지터에 대한 제어 요소를 생성하는 아래의 예제 스크립트. 최선의 노력에도 불구하고 지터를 토글하는 확인란을 얻을 수 없습니다. 보고할 업데이트를 보내는 올바른 방법이 무엇인지 모르겠습니다.
구문에 대한 도움을 요청합니다.
Names Default To Here(1);
dt= Open("$SAMPLE_DATA/Big Class.jmp");
gb=Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements(
Points( X, Y )
)
);
jitter = 1;
jitter_elements=H List Box(
cb=Check Box(
{"Jitter enabled"},
If(cb<<GET> gb << SendToReport(Elements(Points(Jitter( "Positive Grid" ), Jitter Limit( jitter )))), // This is not correct but something like this (maybe)
gb << SendToReport(Elements(Points(Jitter( "None" )))) // This is not correct but something like this (maybe)
);
),
sb = Slider Box( 0, 2, jitter,
neb << set( jitter );
),
neb = Number Edit Box(jitter,
<<SETFUNCTION></SETFUNCTION></GET>스크립팅Re: Graph Builder에서 지터 켜기/끄기를 토글하는 확인란좋은 아이디어, 방법이 명확하지 않아 답변을 기다립니다.
Re: Graph Builder에서 지터 켜기/끄기를 토글하는 확인란요소를 조작하는 것은 내가 아는 한 엉망이며 그룹화가 있을 때 더 복잡해집니다. 그래서 나는 (보통) 그것을 피하고 그래프를 다시 실행하려고 합니다. 다음은 요소 업데이트를 사용하여 지터를 변경할 수 있는 한 가지 방법입니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
jitter = 1;
New Window("",
V List Box(
H List Box(
cb = Check Box(
{"Jitter enabled"},
If(cb << Get() == 1,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("Positive Grid"), Jitter Limit(jitter)});
,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("None")});
)
),
sb = Slider Box(0, 2, jitter, neb << set(jitter)),
neb = Number Edit Box(
jitter,
<<SETFUNCTION></SETFUNCTION>
다른 유용한 기능은 요소 추가 및 요소 제거일 수 있습니다. 이 게시물도 참조하세요. 그래프 빌더의 Element 문 업데이트
Re: 그래프 빌더에서 지터 켜기/끄기를 토글하는 확인란Jarmo님, 감사합니다.
귀하의 솔루션(요소 업데이트)이 잘 작동합니다.
아래는 그래프를 업데이트하는 슬라이더와 숫자 상자도 가져오도록 수정된 버전입니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
jitter = 0.2;
New Window("",
V List Box(
H List Box(
cb = Check Box(
{"Jitter enabled"},
If(cb << Get() == 1,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("Positive Grid"), Jitter Limit(jitter)});
,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("None")});
)
),
sb = Slider Box(0.1, 0.2, jitter,
neb << set(jitter);
If(cb << Get() == 1,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("Positive Grid"), Jitter Limit(jitter)});
);
),
neb = Number Edit Box(
jitter,
<<SETFUNCTION>0.2, jitter=0.2);
sb << inval;
If(cb << Get() == 1,
Report(gb)[GraphBuilderBox(1)] << Update Element(1, 1, 1, {Type("Points"), X, Y, Legend(3), Jitter("Positive Grid"), Jitter Limit(jitter)});
);
neb << set(jitter);
)
)
)
),
gb = dt << Graph Builder(Show Control Panel(0), Variables(X(:height), Y(:weight)), Elements(Points(X, Y)));
)
);</SETFUNCTION>