다음은 로컬 데이터 필터가 있는 그래프를 표시하는 예시 코드입니다.
namesDefaultToHere(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
graphContent = VListBox(
dt << Bivariate(
Y(:weight),
X(:height)
)
);
NewWindow("Test",
Data Filter Context Box(
BorderBox(top(20),bottom(20),left(20),right(20),
HListBox(
// local data filter
::df = dt << Data Filter( local,
AddFilter(
columns(:sex),
display(:sex,"List Display")
)
),
// some content
graphContent
)
)
)
);
// define event handler for data filter
::rs = ::df << makeFilterChangeHandler(
function({x},
show("data filter event handler");
show(hptime());
)
);
데이터 필터를 선택하면 예상대로 이벤트 핸들러가 트리거됩니다.
그러나 이벤트 핸들러는 그래프의 데이터 포인트 위로 마우스를 가져가기만 해도 트리거됩니다.왜 그런 일이 일어날지 생각해 본 사람이 있습니까?
이러한 메시지를 구별할 수 있는 한 가지 방법은 x==(-1)을 테스트하는 것입니다.이 메시지는 df<