그래프의 축 범위를 제어하는 범위 슬라이더루프는 특정 이름이 없는 여러 그래프 빌더를 생성합니다. 저널에 있는 모든 그래프(모두 동일한 범위를 가짐)의 X축 범위를 변경할 수 있도록 범위 슬라이더를 만들고 싶었지만 어떻게 해야 할지 잘 모르겠습니다.
Re: 그래프의 축 범위를 제어하는 범위 슬라이더엄청난! 그리고 범위 슬라이더가 되도록 하기 위해 다음을 수행했습니다.
이름의 기본값은 여기에 있습니다( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
dt:age << 모델링 유형( "연속" );
gb1 = dt << 그래프 빌더(
크기( 528, 448 ),
제어판 표시( 0 ),
변수( X( :나이 ), Y( :높이 ) ),
요소( 점( X, Y, 범례( 5 ) ) )
);
gb2 = dt << 그래프 빌더(
크기( 528, 448 ),
제어판 표시( 0 ),
변수( X( :나이 ), Y( :체중 ) ),
요소( 점( X, Y, 범례( 5 ) ) )
);
Slidervar = 보고서( gb1 )[axisbox( 1 )] << get min;
Slidervar2 = 보고서( gb1 )[axisbox( 1 )] << 최대값 가져오기;
새 창("예제",
패널 상자("슬라이더 상자",
H 목록 상자(
rsb = 범위 슬라이더 상자(
보고서( gb1 )[axisbox( 1 )] << get min, 보고서( gb1 )[axisbox( 1 )] << get max, Slidevar, Slidevar2,
(
보고서( gb1 )[axisbox( 1 )] << Min( Slidevar );
보고서( gb1 )[axisbox( 1 )] << Max( Slidevar2 );
보고서( gb2 )[axisbox( 1 )] << Min( Slidevar );
보고서( gb2 )[axisbox( 1 )] << Max( Slidervar2 );
);
)
)
)
);
그리고 이를 통해 나는 내 스크립트에 필요한 작업을 수행할 수 있었습니다! 짐, 정말 고마워요!
Re: 그래프의 축 범위를 제어하는 범위 슬라이더맞아요.
Re: 그래프의 축 범위를 제어하는 범위 슬라이더좋습니다. 그래프를 만드는 기능이 있습니다.
graphslist = {}와 같이 빈 목록을 만든다는 뜻입니다.
그런 다음 함수에서
그래프 빌더를 a = table << Graph builder();
그런 다음 (graphslist, a)에 삽입합니다.
너가 말하는게 이거니?
Re: 그래프의 축 범위를 제어하는 범위 슬라이더각 표시 개체에 대한 포인터를 목록으로 캡처한 다음 목록을 다시 살펴보며 각 표시 개체를 참조하여 각 개체에 액세스할 수 있습니다.
Re: 그래프의 축 범위를 제어하는 범위 슬라이더짐,
하지만 모든 그래프 빌더 개체의 이름을 개별적으로 지정하신 것으로 나타났습니다.
내 질문에서 말했듯이 현재 내 프로그램은 변수 이름이라고 부르지 않도록 루프에서 생성하여 작동합니다. 이 때문에 보고서를 어떻게 참조해야 할지 모르겠습니다.
Re: 그래프의 축 범위를 제어하는 범위 슬라이더이를 수행하는 가장 쉬운 방법은 전역 데이터 필터를 열고 X축 변수를 필터 변수로 선택하는 것입니다. 범위를 변경할 수 있는 슬라이더가 설정됩니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
dt:age << modeling type( "continuous" );
gb1 = dt << Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
);
gb2 = dt << Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
);
dt << Data Filter(
Location( {780, 189} ),
Mode( Show( 1 ), Include( 1 ) ),
Add Filter( columns( :age ) )
);
개발하려는 경우 슬라이더 상자를 설정하여 최소 및 최대 값을 변경할 수 있으며 다음과 같이 설정할 수 있습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
dt:age << modeling type( "continuous" );
gb1 = dt << Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
);
gb2 = dt << Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
);
slidervar = Report( gb1 )[axisbox( 1 )] << get min;
slidervar2 = Report( gb1 )[axisbox( 1 )] << get max;
New Window( "Example",
Panel Box( "Slider Box",
H List Box(
sb = Slider Box(
Report( gb1 )[axisbox( 1 )] << get min,
Report( gb1 )[axisbox( 1 )] << get max,
slidervar,
Report( gb1 )[axisbox( 1 )] << Min( slidervar );
Report( gb2 )[axisbox( 1 )] << Min( slidervar );
),
sb2 = Slider Box(
Report( gb1 )[axisbox( 1 )] << get min,
Report( gb1 )[axisbox( 1 )] << get max,
slidervar2,
Report( gb1 )[axisbox( 1 )] << Max( slidervar2 );
Report( gb2 )[axisbox( 1 )] << Max( slidervar2 );
)
)
)
);
또한 AxisBox(1)의 범위와 원점 변경을 감지하는 그래픽 스크립트를 각 그래프 빌더에 추가한 다음 변경 사항이 감지되면 변경 사항이 발생한 그래프에서 AxisBox(1) 설정을 복사할 수도 있습니다. 다른 그래프 각각에 대해 감지됩니다. 분명히 이것은 더 복잡하지만 슬라이더가 있는 별도의 창을 가질 필요가 없다는 장점이 있습니다.