다시 : graphbuilder에서 변수 이름 가져 오기나는 이것에 관한 이전의 질문을 기억한다고 생각했지만 찾지 못했습니다. 어쨌든,이 종류의 작업을 수행하는 데 사용한 방법은 메시지를 그래프 작성기로 보내 디스플레이를 만드는 데 사용되는 스크립트를 문자 변수로 가져온 다음 문자열을 구문 분석하여 언급 된 변수를 찾는 것입니다 .
스크립트
names default to here(1);
dt=open("$SAMPLE_DATA/big class.jmp");
gb = Graph Builder(
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 6 ) ), Smoother( X, Y, Legend( 7 ) ) )
);
theScript = char(gb << get script);
show(theScript);
검색 :
theScript = "Graph Builder(Variables(X(:weight), Y(:height)), Elements(Points(X, Y, Legend(6)), Smoother(X, Y, Legend(7))))";
다시 : graphbuilder에서 변수 이름 가져 오기JMP 15에 추가 된 호버 레이블 확장을 사용하면 그래프 컨텍스트 (정확한 호버 레이블 실행 컨텍스트)에서 실행될 스크립트를 정의 할 수 있습니다. 이 컨텍스트는 "그룹화"(X, GroupX, GroupY 등) 및 측정 (Y, 색상, 크기 등)으로 사용되는 변수를 포함하여 가리키고있는 시각적 요소에 대한 로컬 변수 정보를 제공합니다.
자신의 스크립트에서 이러한 변수에 액세스하고 변수를 사용하여 새로운 시각화 또는 분석을 정의 할 수 있습니다. 이것은 호버 레이블 사전 설정이 작동하는 방식입니다. 하나를 선택한 다음 호버 레이블 편집기에서 생성 된 JSL 코드를 보거나 스크립트를 저장하여 예제를 볼 수 있습니다.
텍스트 릿 "컨텍스트"사전 설정 (호버 레이블 편집기의 텍스트 릿 패널에서 사용 가능)을 사용하여 해당 값을 볼 수도 있습니다.

실행 컨텍스트에서 사용 가능한 전체 변수 목록이 제공됩니다. 여기.
다시 : graphbuilder에서 변수 이름 가져 오기짐 안녕하세요. 답장을 보내 주셔서 감사합니다. 불행히도 내가 가진 문제는 내 스크립트가 귀하의 예제에서 "gb"참조에 대한 지식이 없다는 것입니다. 내 스크립트가 참조 할 수있는 유일한 것은 창과 후속 표시 상자입니다. 그러나 어떻게 든 gb에 대한 참조를 얻을 수 있다면 그렇습니다. 귀하의 방법은 내가 선호하는 방식입니다.다시 : graphbuilder에서 변수 이름 가져 오기nascif_jmp에게 감사합니다. 실제로 JMP14를 사용하고 있으므로 아직 호버 레이블 확장에 익숙하지 않습니다. 나는 15로 바꿀 수 있지만 오래된 습관은 ...
빠른 질문이지만 ... 그래프 빌더 플롯이 포함 된 창에서 프로그래밍 방식으로 변수를 읽는 방법을 찾고 있습니다. 그러나 이름에서 호버 도구는 사용자가 다양한 항목 위로 마우스를 가져 가서 창과 상호 작용해야하는 것처럼 들립니다. 스크립트에 의해 자동으로 수행하는 방법이 있습니까? 그리고 내가 가지고있는 모든 것이 gb 플롯이 존재하는 창에 대한 참조 (gb 자체에 대한 참조가 아님)라면 가능합니까?다시 : graphbuilder에서 변수 이름 가져 오기 nik 호버 레이블 기능은 상호 작용 성을 기반으로합니다. JSL (마우스 이동, 일시 정지 등)을 사용하여 트리거 할 수있는 방법이 있지만 실제로 필요하지 않은 솔루션에는 많은 복잡성이 추가됩니다.
귀하의 답변과 제안한 솔루션을 바탕으로 tx , 여기는 Windows 참조에서 Graph Builder 변수 참조까지 안내하는 스크립트입니다.
Names Default to Here(1);
win = New Window("A Title", // Let's create a Window that contains a Graph Builder
Graph Builder( // with a LDF to make things interesting (multiple OutlineBoxes).
Size( 517, 448 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :height ) ),
Elements( Bar( X, Y, Legend( 6 ) ) ),
Local Data Filter(
Add Filter( columns( :height ), Where( :height >= 60.048 & :height <= 70 ) )
)
));
ob = win[OutlineBox("Graph Builder")]; // This is how you get the Display Box that contains the GB object
gbb = ob << Get Scriptable Object; // Now we extract the GB object from the Display Box
gb_expr = gbb << Get Script; // You could wrap in Char() to get the GB script as a string
gb_nargs = NArg(gb_expr); // and use pattern matching. Instead,
for(i = 1, i <= gb_nargs, i++, // let's see how to inspect it as an expression.
child = Arg(gb_expr, i);
If (HeadName(child) == "Variables",
var_nargs = NArg(child);
for(j = 1, j <= var_nargs, j++,
Show(Arg(child, j))
);
Break();
)
);
넌 봐야 해:
Arg(child, j) = X(:sex);
Arg(child, j) = Y(:height);
다시 : graphbuilder에서 변수 이름 가져 오기감사. 바로 내가 필요한 것입니다.graphbuilder에서 변수 이름 가져 오기안녕. 그래프 빌더 창에서 사용되는 변수 이름 및 역할을 얻는 방법이 있습니까? 그래프 빌더 플롯이 포함 된 창이 있다고 가정합니다. X, Y, Xgroup, Ygroup 등에 사용 된 변수를 프로그래밍 방식으로 결정하는 방법이 있습니까?
예를 들어, 사용자가 gb로 플롯을 생성했다고 가정합니다. 이제 그들은 플롯에서 일반화 된 스크립트 (예 : 그래픽 스크립트)를 실행하려고합니다. 스크립트는 사용자가 말하지 않고 어떤 역할에 어떤 변수가 사용되었는지 알아야합니다.
이 줄거리로 시작한다고 가정 해보십시오.
기본 이름은 여기 (1); dt = 열기 ( "$ SAMPLE_DATA / Big Class.jmp"); gb = 그래프 빌더 (변수 (X (: height), Y (: weight)), 요소 (Points (X, Y), Smoother (X, Y)));
이제 결과 플롯에서 스크립트를 실행하고 싶습니다. 내 스크립트는 줄거리에 무엇이 들어 있는지 알지 못합니다. 내가 시도했지만 작동하지 않은 두 가지가 있습니다.
기본 이름은 여기 (1); // 플롯을 만드는 데 사용되는 스크립트를 얻으십시오 win = Window (1); // 가장 최근에 클릭 한 창을 가져옵니다 gb = win << Report; // DNW : 누락을 반환합니다 (win은 플랫폼이 아님). scr = gb << Get Script; // 여기에서 문자열을 파싱하여 역할을 결정합니다. // 다른 찌르기 : XML을 읽으십시오 win = Window (1); str = win << XML을 가져옵니다; //이 창의 XML을 제공하지만 역할에 사용 된 실제 변수 이름은 제공하지 않습니다.
창 참조를 보고서로 변환하는 방법을 알 수 있다면 첫 번째 방법을 사용할 수 있다고 생각합니다. 어떤 아이디어?
스크립팅