Re: JSL: 콤보 상자와 다음/이전 버튼으로 그래프 업데이트를 스크립팅하는 방법안녕하세요, 이것에 대한 추가 도움을 찾고 있습니까?
임의의 순서로 배치된 모든 열 대신 내 xlist에 특정 수의 열만 표시하려고 합니다.
xlist= {"크림", "녹스", "방사형"};
위의 스크립트를 사용하여 처음 3개의 열만 플로팅합니다. 이 경우 위에서 언급한 열이 아니라 "crim", "zn" 및 "indus"입니다.
이에 대한 해결 방법이 있습니까?
감사해요.
Re: JSL: 콤보 상자와 다음/이전 버튼으로 그래프 업데이트를 스크립팅하는 방법업데이트: 좋습니다. 그래서 추가, 접두사, Sib 추가 및 Sib 접두사에 대한 스크립팅 가이드를 조금 더 읽어야 했습니다. 이것을 읽은 후 업데이트된 그래프를 앞에 추가해야 하는 컨테이너 상자를 결정하는 문제였습니다. 따라서 창에 다른 컨테이너 상자가 있는 경우 Sib Prepend() 명령을 사용해야 할 수도 있습니다. 지금 보니 이해가 가네요.
첨부된 JSL은 관심 있는 사람이 있다면 내가 의도한 모든 작업을 수행합니다.
감사해요!,
DS
Re: JSL: 콤보 상자와 다음/이전 버튼으로 그래프 업데이트를 스크립팅하는 방법안녕 @ian_jmp ,
새 창에 더 많은 요소가 있을 때 이 스크립트가 올바르게 작동하도록 도와주실 수 있기를 바랍니다. 자체적으로 작동하는 개념 스크립트를 데이터를 분할하고 결과를 표시하는 더 큰 스크립트로 옮길 수 있었습니다. 내 JSL 코드를 파일로 첨부하고 있습니다. 그렇게 하면 더 쉬울 수 있습니다. Boston Housing이 열리고 데이터 테이블을 선택한 다음 X 요소 및 Y 응답을 선택하고 검증 부분과 시도할 최대 분할 수를 설정할 수 있습니다.
코드는 내가 원하는 출력을 생성하도록 작동합니다(아래).

그러나 매개변수를 순환하면 창의 레이아웃이 다음과 같이 재정렬됩니다.

첫 번째 스크린샷과 동일한 레이아웃을 유지하고 싶지만 Prepend 및 Append 옵션이 올바른 레이아웃을 유지하지 않습니다. 도움을 주시면 감사하겠습니다.
감사해요!,
DS
Re: JSL: 콤보 상자와 다음/이전 버튼으로 그래프 업데이트를 스크립팅하는 방법안녕 @ian_jmp ,
정확히 트릭을 수행했습니다. 감사합니다! 아래에 작업 코드를 게시하고 솔루션으로 표시할 것입니다. 이 코드는 제가 이 부분에 대한 작업을 시작했을 때 의도한 대로 정확히 수행하기 때문입니다.
감사해요!,
DS
Append 대신 Prepend로 코드를 업데이트했습니다.
Names Default To Here( 1 );
dt = Open("$sample_data/Boston housing.jmp");
//dt = Data Table( "Boston Housing" );
xlist = dt << Get Column Names( String );
gb_default = Expr(
Graph builder( Show Control Panel( 0 ), Variables( X( Column( dt, 1 ) ), Y( Column( dt, 2 ) ) ), Elements( Points( X, Y, Legend( 3 ) ) ) )
);
gb_change = Expr(
Graph builder( Show Control Panel( 0 ), Variables( X( Column( dt, xcol ) ), Y( Column( dt, ycol ) ) ), Elements( Points( X, Y, Legend( 3 ) ) ) )
);
nw = New Window( "Interactive Graph",
gb = gb_default;
lbcontent = Lineup Box( N Col( 5 ),
Spacer Box( Size( 1, 0 ) ),
Text Box( "X", <<JUSTIFY text=""></JUSTIFY>Re: JSL: 콤보 상자와 다음/이전 버튼으로 그래프 업데이트를 스크립팅하는 방법'추가' 대신 '앞에 추가'를 시도하십시오.
Re: JSL: 콤보 상자와 다음/이전 버튼으로 그래프 업데이트를 스크립팅하는 방법안녕 모두,
그래서 이전 토론 스레드를 찾을 수 있었습니다. 여기 어디 @ms 다른 사용자가 비슷한 작업을 수행하도록 도왔습니다. 나는 그 아이디어에서 벗어나 내가 의도한 대로 작동하도록 수정할 수 있었습니다. 아래는 하나의 사소한 "결함"을 제외하고 해당 기능을 허용하는 코드입니다.
이 코드를 사용하면 사용자가 그래프로 표시할 X, Y 항목을 선택할 수 있고 콤보 상자가 변경되거나 이전/다음 버튼을 누를 때 그래프가 업데이트됩니다. 따라서 이와 관련하여 코드는 의도한 대로 작동합니다.
다른 것을 플롯하도록 변경한 후 그래프 빌더 콘텐츠 상자는 콤보 상자/버튼 상자가 포함된 선택 라인업 상자와 위치를 바꿉니다. 그래프 수정 옵션이 포함된 라인업 상자를 창 하단에 유지하고 싶은데 어떻게 해야할지 모르겠습니다.
이 문제를 해결하는 방법에 대한 제안은 대단히 감사하겠습니다! (끝에 코드).
감사해요!,
DS
시작 창(아래 옵션 포함):

X 또는 Y 콤보 상자 또는 이전/다음 버튼을 변경한 후 업데이트된 창:

코드는 다음과 같습니다.
Names Default To Here( 1 );
//dt = open("$sample_data\Boston Housing.jmp");//In case the file isn't already open.<BR />
dt = Data Table( "Boston Housing" );
xlist = dt << Get Column Names( String );
gb_default = Expr(
Graph builder( Show Control Panel( 0 ), Variables( X( Column( dt, 1 ) ), Y( Column( dt, 2 ) ) ), Elements( Points( X, Y, Legend( 3 ) ) ) )
);
gb_change = Expr(
Graph builder( Show Control Panel( 0 ), Variables( X( Column( dt, xcol ) ), Y( Column( dt, ycol ) ) ), Elements( Points( X, Y, Legend( 3 ) ) ) )
);
nw = New Window( "Interactive Graph",
gb = gb_default;
lbcontent = Lineup Box( N Col( 5 ),
Spacer Box( Size( 1, 0 ) ),
Text Box( "X", <<JUSTIFY text=""></JUSTIFY>Re: JSL: 콤보 상자와 다음/이전 버튼으로 그래프 업데이트를 스크립팅하는 방법안녕 @DonMcCormack ,
예, 그렇게 하면 확실히 효과가 있겠지만 사용자가 다음/이전 버튼을 클릭하거나 콤보 상자에서 다른 변수 세트를 선택할 때 그래프가 자동으로 업데이트되기를 원합니다. 본질적으로 저는 PCA 플랫폼의 기능을 다시 만들려고 하지만 다른 스크립트에 통합하기 위해 일반화하려고 합니다.
DS
Re: JSL: 콤보 상자와 다음/이전 버튼으로 그래프 업데이트를 스크립팅하는 방법열 전환기를 사용하지 않는 이유는 무엇입니까?
JSL: 콤보 상자와 다음/이전 버튼으로 그래프 업데이트를 스크립팅하는 방법안녕 모두,
저는 더 큰 JSL 코드 세트를 작업 중이며 사용자가 다른 보기를 순환할 수 있도록 몇 가지 기능을 추가하는 데 관심이 있습니다. 아래에서 촬영.

데이터 테이블의 관련 열이 있는 몇 개의 콤보 상자가 필요하다는 것을 알고 있지만 PCA 플랫폼에서와 같이 그래프를 자동 업데이트하는 방법이나 다음 버튼 상자를 올바르게 호출하는 방법을 모르겠습니다. 또한 이전 버튼 상자에 추가하여 사용자가 보기에서 더 쉽게 뒤로 물러날 수 있도록 하고 싶습니다.
누구든지 이것을 구현하는 방법에 대한 제안이나 아이디어가 있으면 도움을 주시면 감사하겠습니다. 이 기능을 성공적으로 검색하지 못했거나 가지고 있는 Scripting Index 또는 Scripting Guide에서 이에 대해 많이 찾지 못했습니다.
감사해요!,
DS
업데이트: 점점 가까워지고 있으며 콤보 상자의 목록을 순환하는 코드가 있으므로 매우 간단합니다(아래 참조). 여전히 문제가 있는 것은 그래프를 자동으로 업데이트하는 것입니다. 의도는 사용자가 다음 또는 이전을 클릭할 때 그래프에서 y 변수가 자동으로 변경되는 것입니다. BTW, Boston Housing.jmp 파일을 사용하여 테스트하고 있습니다.
Names Default To Here( 1 );
dt = Data Table( "Boston Housing" );
xlist = dt << Get Column Names( String );
nw = New Window( "interactive Graph builder", V List Box( vlb1 = V List Box(), vlb2 = V List Box() ) );
xcol = 1;
ycol = 2;
lbcontent = V List Box(
Lineup Box( N Col( 5 ),
Text Box( "Select Params", <<SET font="" size=""></SET>
자동화 및 스크립팅