JSL을 사용하여 Graph Builder에서 눈금 상자의 y축을 동적으로 참조하는 방법<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />아니면 그 문제에 대해서는 어느 곳에서나.
저는 업무용 전문 그래프를 생성하는 함수를 작성 중입니다. 캔버스에 추가 그림을 그리는 중인데 모든 내용에 맞게 y축을 다시 조정하려면 그래프가 필요합니다. 플롯하는 모든 지점의 최대값과 최소값을 구하고 이를 상한선과 하한선(+/- 5%)으로 설정하면 이를 달성할 수 있습니다. 그러나 변경 사항을 적용하려면 축 레이블을 호출해야 합니다. 나는 색인 번호를 시험해 보았다. 이름을 변수로 저장하고 변수를 호출해 보았습니다. 내 시도 중 어느 것도 작동하지 않는 것 같으며 문서는 이 주제에 대해 포괄적이지 않습니다.
예:
그래프 빌더 내에서 보고서로 보내기에는 다음이 있습니다.
| | 보내다({}, |
| | | "축 이름", |
| | | 스케일박스, |
| | | {Format( "고정 12월", 15, 0 ), Min( llim ), Max( ulim ), |
| | | Inc( 1 ), 마이너 틱( 1 )} |
| | ), |
이것을 함수에서 작동시키려면 현재 이름을 하드 코딩해야 합니다. 어떤 그래프를 그리든 동적으로 업데이트하고 싶습니다.
뭔가 효과가 있다
| | 보내다({}, | |
| | | Y축, |
| | | 스케일박스, |
| | | {Format( "고정 12월", 15, 0 ), Min( llim ), Max( ulim ), |
| | | Inc( 1 ), 마이너 틱( 1 )} |
| | ), | |
내가 찾고 있는 것이 바로 그것이다.
Re: JSL을 사용하여 Graph Builder에서 눈금 상자의 y축을 동적으로 참조하는 방법Jim의 예에 대한 후속 조치로 XPath()를 사용하여 보고서의 모든 AxisBox 목록을 얻을 수 있습니다.그런 다음 목록을 반복하여 원하는 대로 적절하게 변경할 수 있습니다.다음은 XPath()를 보여주고 For 루프에서 각 축을 선택하는 것입니다.
/* 보고서의 모든 AxisBox 목록을 가져옵니다 */
gbAxis = 보고서 ( GB ) << XPath ( "//축박스" ) ;
/* 각 항목을 반복하여 각 항목이 어떤 축을 참조하는지 확인합니다. */
을 위한 ( 나 = 1 , 나 <= N개 품목 ( gbAxis ) , 나 ++,
gbAxis [ 나 ] << 선택하다 ;
기다리다 ( 1 ) ;
) ;
이게 도움이 되길 바란다!
웬디
Re: JSL을 사용하여 Graph Builder에서 눈금 상자의 y축을 동적으로 참조하는 방법이것은 내 문제를 완벽하게 해결했습니다. 고마워요 짐. 제 기능은 아직 공유할 수 있을 만큼 일반화하는 작업 중입니다. 하지만 일단 파악하고 나면 충분히 일반화한 후에 여기 JMP 커뮤니티에 게시하겠습니다.
궁금하신 분들을 위해 말씀드리자면 제 문제는 보고서가 완전히 생성되기 전에 보고서 내에서 보고서를 참조하려고 했다는 것입니다(물론 제가 틀렸을 수도 있음).
Re: JSL을 사용하여 Graph Builder에서 눈금 상자의 y축을 동적으로 참조하는 방법Graph Builder의 축 식별과 관련하여 흥미로운 질문을 제기하셨습니다.그래프 빌더가 사용하는 축 구조를 살펴보았는데, 사용할 수 있는 조직이 있는 것 같습니다.

위 그래프 빌더 차트에는 하나의 Y축과 여러 개의 X축이 있습니다.제가 시도한 그래프의 구조는 항상 축 1을 첫 번째 X축으로 사용하고 축 2와 첫 번째 Y축을 사용했습니다.그래서 아래 코드를 사용하면 그래프 종류를 변경해도 축 번호는 그대로 유지됩니다.
기본 이름은 여기에 있습니다. ( 1 ) ;
dt = 열려 있는 ( "$SAMPLE_DATA/반도체 능력.jmp" ) ;
GB = 그래프 빌더(
크기( 593 , 526 ) ,
제어판 표시( 0 ) ,
변수( X( : PNP1 ) , 와이( : NPN1 ) , 그룹X( : 사이트 ) ) ,
요소( 포인트( X , 와이 , 전설( 5 ) ) , 더 매끄럽게( X , 와이 , 전설( 6 ) ) )
) ;
보고서 (gb)[축 상자( 1 )] << 분 ( 150 ) ;
Axis Box(2) 참조는 Y축을 변경합니다.
표시되는 다른 5개의 X축인 축 상자 3,4,5, 6도 있습니다.

이 예에서는 Y축에 두 번째 변수를 추가했지만, Axis Box(1)는 여전히 첫 번째 X축이고, Axis Box(2)는 상단 열 "PNP4"에 대한 Y축이고, Axis Box( 3)은 "NPN1" 열의 Y축입니다.
기본 이름은 여기에 있습니다. ( 1 ) ;
dt = 열려 있는 ( "$SAMPLE_DATA/반도체 능력.jmp" ) ;
GB = 그래프 빌더(
크기( 593 , 526 ) ,
제어판 표시( 0 ) ,
변수( X( : PNP1 ) , 와이( : PNP4 ) , 와이( : NPN1 ) , 그룹X( : 사이트 ) )) ;
회색 확장 삼각형을 마우스로 클릭하고
편집==>트리 구조 표시
사용 중인 그래프에 대한 축 상자 구조를 결정할 수 있어야 하며 올바른 축 상자를 참조하는 방법을 프로그래밍 방식으로 결정할 수 있어야 합니다.
Re: JSL을 사용하여 Graph Builder에서 스케일 상자의 y축을 동적으로 참조하는 방법개별 축 객체에 접근한 후 다음 작업은 어떤 축이 어떤 "축"에 속하는지 찾아내는 것입니다.
첫 번째 축은 x축인가요 아니면 y축인가요?
그리고 다른 플롯 유형은 어떨까요? 그래프 빌더 상자 와 그래프 상자 에도 같은 논리가 적용되나요?
이 소원을 살펴보세요:
JSL을 통해 보고서에서 결과를 더 쉽게 얻을 수 있도록 합니다.
보고서에서 결과를 얻는 것 외에도 보고서를 조정하는 방법을 간소화할 수도 있습니다.
보내다 명령은 잘 갖춰져 있습니다. "X 타이틀" 과 같은 정보를 직접 사용하여 메시지가 전송되는 위치를 제어할 수 있습니다.
SendToReport( Dispatch( {}, "X title", TextEditBox, {Set Text( "xxx" )} ) )
엑스패스 의 경우 아직은 가능하지 않은 듯합니다...