데이터 테이블에서 오버레이 플롯의 데이터 연결 해제<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />오버레이 플롯에 표시된 데이터와 해당 데이터 테이블 사이의 연결을 "파괴"하는 방법을 찾기 위해 스크립팅 가이드를 파헤쳤지만 이를 수행하는 방법을 찾을 수 없는 것 같습니다.그 이유는 다양한 사용자 지정 날짜 범위의 데이터로 여러 OP를 만들고 싶기 때문입니다.데이터 필터를 사용하여 관심 있는 날짜 범위를 선택하여 결과 OP가 x축 및 y축 데이터를 자동 확장할 수 있도록 하여 이러한 매개변수가 1년에 걸쳐 극적으로 변하기 때문에 이러한 매개변수를 지정할 필요가 없습니다.
문제를 단순화하기 위해 기본적으로 내가 달성하려는 것을 보여주는 모의 코드를 아래에 포함시켰습니다. 데이터 필터에서 선택한 데이터가 변경될 때 OP에 표시된 데이터가 원래 지정된 데이터에서 변경되지 않도록 원본 데이터에서 가져옵니다.이 작업을 수행하는 방법에 대한 제안은 대단히 감사하겠습니다.
로그 지우기();
dt = Open( "C:\Program Files\SAS\JMP\10\Samples\Data\Time Series\Raleigh Temps.JMP" );
날짜 = 1;
날짜 = 3;
obj = dt << 데이터 필터(
자동 클리어( 1 ),
창 표시( 0 ),
필터 추가(
열( :이름( "월" ) ),
어디(
:이름( "월" ) >= 날짜 & :이름( "월" ) <=
편집하다
)
),
모드( 표시( 1 ), 포함( 1 ) )
);
obj << 닫기;
오버레이 플롯(
X( :이름( "월" ) ),
Y( :Name( "온도" ) ),
별도의 축( 1 ),
누락을 통해 연결( 1 ),
연결 포인트( 1 ),
SendToReport(
보내다(
{},
"101",
스케일박스,
{Show Major Grid( 1 ), Rotated Labels( "Automatic" )}
)
)
);
날짜 = 5;
날짜 = 7;
obj = dt << 데이터 필터(
자동 클리어( 1 ),
창 표시( 0 ),
필터 추가(
열( :이름( "월" ) ),
어디(
:이름( "월" ) >= 날짜 & :이름( "월" ) <=
편집하다
)
),
모드( 표시( 1 ), 포함( 1 ) )
);
obj << 닫기;
오버레이 플롯(
X( :이름( "월" ) ),
Y( :Name( "온도" ) ),
별도의 축( 1 ),
누락을 통해 연결( 1 ),
연결 포인트( 1 ),
SendToReport(
보내다(
{},
"101",
스케일박스,
{Show Major Grid( 1 ), Rotated Labels( "Automatic" )}
)
)
);
Re: 데이터 테이블에서 오버레이 플롯의 데이터 연결 해제공간이 걱정된다면 Graph Builder가 기본적으로 표시하는 제어판을 생각할 수 있지만 Show Control Panel(0)을 사용하여 끌 수 있습니다.
그리고 조건을 열로 인코딩할 수 있는 경우 그룹 X 및 그룹 Y 역할을 사용하여 상당히 간결한 표시를 만들 수 있습니다.
아래 예에서는 내 조건을 인코딩하기 위해 회사 규모를 나타내는 열을 만듭니다.
dt = 열려 있는 ( "$SAMPLE_DATA\Financial.jmp" ) ;
dt << 새 열 ( "회사 규모" , 공식 ( 만약에 ( : 이름 ( "#emp" ) < 10000 , "작은" , "크기가 큰" ) ) ) ;
dt << 그래프 빌더 (
크기 ( 638 , 770 ) ,
제어판 표시 ( 0 ) ,
변수 (
엑스 ( : 이름 ( "자산($Mil.)" ) ) ,
와이 ( : 이름 ( "매출액($M)" ) ) ,
그룹 X ( : 회사 규모 ) ,
그룹 Y ( : 유형 )
) ,
강요 ( 포인트들 ( 엑스 , 와이 , 전설 ( 1 ) ) , 부드럽게 ( 엑스 , 와이 , 전설 ( 2 ) ) )
) ;
Re: 데이터 테이블에서 오버레이 플롯의 데이터 연결 해제도움을 주신 Jeff에게 감사드립니다.Graph Builder 제안에 감사드립니다.저는 2열 x 6행의 그래픽 디스플레이 매트릭스를 다루고 있고 Graph Builder 오버헤드가 너무 많은 공간을 차지하기 때문에 제 특별한 경우에는 작동하지 않을 것입니다.그러나 크기가 크지 않고 일부 대화형 기능이 도움이 되는 향후 그래프에 대해 이 예제를 보는 것이 좋습니다.
Re: 데이터 테이블에서 오버레이 플롯의 데이터 연결 해제JMP 10에서는 원본 데이터 테이블을 방해하지 않고 필터링할 수 있는 로컬 데이터 필터를 사용할 수 있습니다.
Overlay Plot 대신 Graph Builder를 사용하는 것이 좋습니다.
예를 들면 다음과 같습니다.
dt = 열려 있는 ( "$SAMPLE_DATA\시계열\롤리 온도.JMP" ) ;
새창 ( "마이 윈도우" ,
V 목록 상자 (
dt << 그래프 빌더 (
변수 ( 엑스 ( : 이름 ( "월/년" ) ) , 와이 ( : 온도 ) ) ,
강요 ( 선 ( 엑스 , 와이 , 전설 ( 4 ) , 행 순서 ( 0 ) , 요약통계 ( "평균" ) ) ) ,
로컬 데이터 필터 (
위치 ( { 207 , 385 } ) ,
필터 추가 ( 열 ( : 년도 ) , 어디 ( : 년도 >= 1980년 & : 년도 <= 1982년 ) ) ,
방법 ( 선택하다 ( 0 ) , 보여주다 ( 1 ) , 포함하다 ( 1 ) )
)
) ;
dt << 그래프 빌더 (
크기 ( 570 , 518 ) ,
변수 ( 엑스 ( : 이름 ( "월/년" ) ) , 와이 ( : 온도 ) ) ,
강요 ( 선 ( 엑스 , 와이 , 전설 ( 4 ) , 행 순서 ( 0 ) , 요약통계 ( "평균" ) ) ) ,
로컬 데이터 필터 (
위치 ( { 207 , 385 } ) ,
필터 추가 ( 열 ( : 년도 ) , 어디 ( : 년도 >= 1982년 & : 년도 <= 1990년 ) ) ,
방법 ( 선택하다 ( 0 ) , 보여주다 ( 1 ) , 포함하다 ( 1 ) )
)
) ;
)
) ;
Re: 데이터 테이블에서 오버레이 플롯의 데이터 연결 해제또는 새 창 아이디어를 사용하여:
dt = Open( "$SAMPLE_DATA/Fitness.jmp" );
새 창( "내 창",
개요 상자( "내 개요 상자",
V 목록 상자(
lo = 9;
안녕 = 11;
op1 = 오버레이 플롯(
X( :런타임 ),
Y(:옥시),
여기서( :런타임 >= 로우 & :런타임 <= 하이 )
);,
lo = 10;
안녕 = 12;
op2 = 오버레이 플롯(
X( :런타임 ),
Y(:옥시),
여기서( :런타임 >= 로우 & :런타임 <= 하이 )
);
)
)
);
Re: 데이터 테이블에서 오버레이 플롯의 데이터 연결 해제다음은 저널 아이디어를 사용하는 한 가지 가능성입니다.
dt = Open( "$SAMPLE_DATA/Fitness.jmp" );
lo = 9;
안녕 = 11;
op1 = 오버레이 플롯(
X( :런타임 ),
Y(:옥시),
여기서( :런타임 >= 로우 & :런타임 <= 하이 )
);
보고서(op1)<<저널();
jrn = 현재 저널();
lo = 10;
안녕 = 12;
op2 = 오버레이 플롯(
X( :런타임 ),
Y(:옥시),
여기서( :런타임 >= 로우 & :런타임 <= 하이 )
);
jrn << 추가(보고서(op2));
Re: 데이터 테이블에서 오버레이 플롯의 데이터 연결 해제제안에 감사드립니다.둘 다 문제에 대한 흥미로운 접근 방식입니다.그러나 단일 VListBox 창에서 여러 OP를 만들고 싶기 때문에 내 특정 응용 프로그램에서는 작동하지 않습니다(죄송합니다. 원래 게시물에서는 이에 대해 명확하지 않았습니다).이 작업을 수행하기 위해 귀하의 접근 방식 중 하나를 만드는 방법을 알아낼 수 없습니다.어떤 아이디어?
새창(
V 목록 상자(
Op1 = 오버레이 플롯(.....),
Op1 = 오버레이 플롯(.....)
)
);
Re: 데이터 테이블에서 오버레이 플롯의 데이터 연결 해제이 예는 약간 다른 관점을 제공할 수 있습니다.
dt = Open( "$SAMPLE_DATA/Fitness.jmp" );
lo = 9;
안녕 = 11;
오버레이 플롯(
X( :런타임 ),
Y(:옥시),
여기서( :런타임 >= 로우 & :런타임 <= 하이 )
);
lo = 10;
안녕 = 12;
오버레이 플롯(
X( :런타임 ),
Y(:옥시),
여기서( :런타임 >= 로우 & :런타임 <= 하이 )
);
Re: 데이터 테이블에서 오버레이 플롯의 데이터 연결 해제내가 틀렸다면 정정해 주지만 플랫폼과 데이터 테이블 사이의 연결을 끊는 것은 불가능하다고 생각합니다. 플롯은 저널 또는 새 창과 같이 플랫폼 외부로 이동해야 합니다.
이 예에서는 두 가지 방법이 모두 사용됩니다. 두 개의 필터링된 오버레이 플롯은 모두 동일한 저널 또는 개별 창으로 전송됩니다.
로그 지우기 () ;
dt = 열려 있는 ( "$SAMPLE_DATA\시계열\롤리 온도.JMP" ) ;
// 데이터 필터 표현식
filter_expr = 만료 (
객체 = dt << 데이터 필터 (
자동 지우기 ( 1 ) ,
창 표시 ( 0 ) ,
필터 추가 (
열 ( : 이름 ( "월" ) ) ,
어디 ( : 이름 ( "월" ) >= 날짜 & : 이름 ( "월" ) <= 편집하다 )
) ,
방법 ( 보여주다 ( 1 ) , 포함하다 ( 1 ) )
) ;
객체 << 닫다 ;
) ;
// 오버레이 플롯
씌우다 = 만료 (
op = 오버레이 플롯 (
엑스 ( : 이름 ( "월" ) ) ,
와이 ( : 이름 ( "온도" ) ) ,
자동 재계산 ( 0 ) ,
별도의 축 ( 1 ) ,
누락을 통해 연결 ( 1 ) ,
포인트 연결 ( 1 ) ,
SendToReport ( 보내다 ( {} , "101" , 스케일박스 , { 주 그리드 표시 ( 1 ) , 회전된 레이블 ( "자동적 인" )} ) ) ,
보이지 않는
)
) ;
// 첫 번째 플롯
날짜 = 1 ; 편집하다 = 삼 ; filter_expr ; 씌우다 ;
// 새창...
nw = 새창 ( "월 " || 숯 ( 날짜 ) || "-" || 숯 ( 편집하다 ) , 보고서 ( op )[ 1 ] ) ;
// 또는 저널
op << 신문 ;
// 두 번째 플롯
날짜 = 5 ; 편집하다 = 7 ; filter_expr ; 씌우다 ;
nw = 새창 ( "월 " || 숯 ( 날짜 ) || "-" || 숯 ( 편집하다 ) , 보고서 ( op )[ 1 ] ) ;
op << 신문 ;