<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />그래프 빌더는 데이터 필터 슬라이더가 움직일 때 표시된 점을 적절하게 조정하는 데이터 필터와 함께 성공적으로 작동합니다. 또한 캡션 상자를 사용하는 통계 값은 데이터 필터 슬라이더를 사용하여 예상대로 조정됩니다. 여태까지는 그런대로 잘됐다. 그런 다음 'Customize'와 'Y Function'을 사용하여 열의 평균을 플롯하고 싶었습니다. 다음은 추출된 스크립트입니다.
그래픽 스크립트 추가(
삼,
설명( "스크립트" ),
Y 함수( Col Mean( :_columnexample_ ), x )
)
원하는 평균선이 성공적으로 그려졌습니다. 그러나 표시된 선은 데이터 필터 슬라이더에 응답하지 않습니다.
데이터 필터와 함께 작동하는 열 평균을 어떻게 플롯할 수 있습니까?
답변해주신 Ian님께 감사드립니다. 귀하의 스크립트를 연구한 결과 작동하는 것을 확인했습니다. 그런데 제 경우에는 많은 그래프가 한꺼번에 영향을 받을 수 있도록 데이터 필터를 전역으로 유지해야 하는데 아직까지 관리를 하지 못했습니다.
Jim의 생각을 토대로 로컬 데이터 필터를 사용하는 한 가지 방법은 다음과 같습니다.
이름DefaultTo여기 ( 1 ) ;
dt = 열려 있는 ( "$SAMPLE_DATA/빅 클래스.jmp" ) ;
// 그래프 빌더
GB = dt << 그래프 빌더 (
제어판 표시 ( 0 ) ,
저울 잠금 ( 1 ) ,
변수 ( 엑스 ( : 무게 ) , 와이 ( : 키 ) ) ,
강요 ( 포인트들 ( 엑스 , 와이 , 전설 ( 6 ) ) , 적합선 ( 엑스 , 와이 , 전설 ( 8 ) ) ) ,
) ;
// 보고서에 대한 참조 가져오기
gbReport = GB << 보고서 ;
// 로컬 데이터 필터 추가
ldf = GB << 로컬 데이터 필터 ( 필터 추가 ( 기둥 ( : 섹스 ) ) ) ;
// 현재 그래프의 평균에 그래프 빌더에 수평선을 추가하는 행 상태 핸들러 함수
// 로컬 데이터 필터에서 선택
addMeanYLine =
기능 ({ 엑스 } , { 기본 로컬 } ,
// 현재 선택 항목에 해당하는 행을 가져옵니다.
행 = ldf << getFilteredRows ;
// 필요한 평균값을 얻습니다.
mv = 평균 (( 열 ( dt , "키" ) << getValues )[ 행 ]) ;
// 그래프 빌더 표시 상자에 그래픽 스크립트를 추가합니다. . .
g프레임 = gbReport << XPath ( "//프레임박스" ) ;
// 이미 있을 수 있는 그래픽 스크립트를 제거해 봅니다.
노력하다 ( 보내다 ( g프레임 [ 1 ] , 제거그래픽스크립트 ( 1 ))) ;
// 필요한 그래픽 스크립트를 추가하는 표현식
ags = 만료 ( 보내다 ( g프레임 [ 1 ] , 추가그래픽스크립트 ( 펜색 ( "빨간색" ) ; H라인 ( 미정 )))) ;
// '베이크인' 현재 평균값
대체하다 ( ags , 만료 ( 미정 ) , mv ) ;
// 그래픽 스크립트 추가
ags ;
) ;
// 로컬 데이터 필터 표시 상자에 행 상태 핸들러를 할당합니다.
rsh = gbReport [ 아웃라인박스 ( 1 )] << MakeRowStateHandler ( addMeanYLine ) ;
응답해 주셔서 감사합니다.
데이터 필터에 대한 스크립트는 다음과 같습니다. 로컬이 아닙니다.
현재 데이터 테이블() << 데이터 필터(
위치( {325, 212} ),
모드( 표시( 1 ), 포함( 1 ) ),
필터 추가( 열( :Bandmeter ), Where( :Bandmeter >= -100 & :Bandmeter <= -50 ) )
);?
문제는 include(1) 문에 있는 것 같습니다. 아마도 Exclude여야 할 것입니다. 30일 무료 평가판이 방금 종료되었으므로 테스트하려면 라이선스를 받을 때까지 기다려야 합니다.
현재 데이터 테이블의 모든 행을 포함하는 방법을 아직 파악하지 못했기 때문에 필터에 대한 일부 임의의 초기 값이 포함되었습니다. 현재로서는 문제가 덜한 것 같으나, Y 함수로 데이터 필터를 사용하는데 어려움이 있는 원인도 아닌가 추측해 봅니다.
솔루션은 아마도 데이터 필터를 사용하는지 아니면 로컬 데이터 필터를 사용하는지에 따라 달라질 것입니다.데이터 필터를 사용하는 경우 Y 함수를 다시 그리는 행 상태 처리기를 데이터 테이블에 적용할 수 있습니다.로컬 데이터 필터인 경우 Y 함수를 다시 그리기 위해 트리거할 수 있는 필터에 의해 그래프에서 변경된 내용을 찾는 것이 핵심입니다.
사용 중인 데이터 필터에 대한 자세한 내용을 제공해 주시면 더 많은 솔루션을 제공해 드릴 수 있습니다.