그래프 빌더 프레임 크기 JSL안녕하세요 여러분,
이것은 쉽고 빠른 수정이 될 수 있습니다. 하지만 올바른 방법을 찾는데 어려움을 겪고 있습니다.
그래프 빌더의 모든 그래프와 일관된 범례 설정에서 일관된 프레임 크기를 유지하는 방법을 찾으려고 노력 중입니다. 데이터 테이블 끝에 숫자 값이 있는 FOR 루프를 실행합니다. 범위는 1개부터 여러 개까지 가능하며 모든 열을 Y축에 표시하려고 합니다.
주요 불일치는 Y축에 매개변수가 하나만 있을 때 발생합니다. 해당 범례는 표시되지 않지만 매개변수가 2개 이상인 경우 범례가 자동으로 표시되며 이에 대해 별도의 JSL 명령을 작성할 필요가 없습니다. 그렇기 때문에 범례 설정의 공간이 부족하여 각 그래프가 다르게 보입니다.
이 문제를 해결하는 방법에 대한 아이디어가 있습니까?
감사합니다
Re: 그래프 빌더 프레임 크기 JSL프레임 크기가 일치하는 그래프가 있습니까?Jmp에서 이것이 가능합니까?
Jmp 지원팀(TS-00076249)에 문의하여 답변을 받았습니다.
예, 가능하다고 말하고 싶지만 필요할 수도 있습니다. 꽤 많은 스크립팅 만들고 싶은 모든 가능한 그래프에 대해 이를 수행하려면 - 특히 그래프 빌더에 대해 이야기하는 경우에는 더욱 그렇습니다.
현재 사용 중인 모니터의 디스플레이 해상도를 고려하려면 모니터의 해상도를 반환하는 Windows dll에 액세스하면 됩니다.이를 사용하여 원하는 대로 픽셀 크기 사양을 조정할 수 있습니다.그러나 각 모니터의 해상도가 다를 수 있는 다중 모니터 환경에서 작업하는 경우 그래프가 어떤 모니터에 있는지 알 수 없기 때문에 해상도를 설명하는 것이 사실상 불가능합니다.
좋아요, 그럼 어떻게요?
크기가 일치하는 그래프를 생성하는 것이 정말 그렇게 복잡합니까?
사용 사례:
우리는 Jmp 분석을 발표하기 위해 PowerPoint를 사용합니다.
페이지에서 페이지로 원활하게 전환하기 위해 동일한 프레임 크기(축 없이 페이지의 NxM 하위 플롯의 외부 상자에 대해 동일한 크기)와 축 및 X/Y의 글꼴 크기가 동일한 모든 그래프를 생성하려고 합니다. 그룹 라벨.
Re: 그래프 빌더 프레임 크기 JSL나는 또한 다음과 같은 조합이 가능하다는 희망을 가지고 시작했습니다.
Fit to Window( "Off" ),
그리고
Size(...)
문제를 해결할 수도 있습니다.
하지만 코드에서 이 사실을 깨달았을 때 @ErraticAttack 두 기능이 모두 사용되었습니다. 희망이 사라졌습니다.
이 예에서는 X 레이블이 다르면 그래프의 크기가 완전히 달라집니다.
전체 그래프(축 포함) 주위에 직사각형이 없는 한, 둘 다 동일한 크기를 가지고 있다는 것을 아무도 눈치 채지 못할 것입니다.
Y축의 크기가 다른 경우에도 동일한 문제가 발생합니다.

Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Cars.jmp" );
New Window( "TEST",
V List Box(
Graph Builder(
Size( 500, 200 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Fit to Window( "Off" ),
Variables( X( :Make ), Y( :Wt ) ),
Elements( Bar( X, Y ) )
)
,
Graph Builder(
Size( 500, 200 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Fit to Window( "Off" ),
Variables( X( :Make ), Y( :Wt ) ),
Elements( Bar( X, Y, Legend( 1 ) ) ),
SendToReport(
Dispatch( {}, "Wt", ScaleBox, {Format( "Engineering SI", 12 )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "Weight" )} )
)
)
)
)
Re: 그래프 빌더 프레임 크기 JSL나는 이것이 오래 전 일이라는 것을 알고 있지만 우리는 몇 달 전에 같은 문제와 싸우고 있었고 다음과 같은 결론을 내렸습니다.
Names Default to Here( 1 );
win = Get Window List();
// find graph builder windows
graphs = Filter Each({w}, win,
If(Length(w << XPath("//OutlineBox[@helpKey='Graph Builder']")) > 0, 1, 0)
);
// get the last Graph Builder
last_gb = graphs[N Items(graphs)][OutlineBox("Graph Builder")] << Get Scriptable Object;
// set size
last_gb << Fit to Window("Off");
// last_gb << Show Control Panel( 0 );
last_gb << Size(1000,800);
// copy picture
frame = (graphs[N Items(graphs)] << XPath( "//GraphBuilderBox" ))[1];
frame << Copy Picture;"창에 맞추기"는 출력 플롯을 정확히 올바른 크기로 만드는 데 핵심이었습니다.
Re: 그래프 빌더 프레임 크기 JSL여기에 업데이트가 있나요?
후보 같은데. Jmp와 JSL의 작은 함정
Re: 그래프 빌더 프레임 크기 JSL그것은 내가 원하는 것과 정반대입니다. 프레임박스() 지정된 크기만 가능합니다.다음은 이를 설명하는 몇 가지 예제 코드입니다.그만큼 크기( 500, 500 ) 두 가지 모두에 공급되지만 분명히 프레임박스() 크기는 별로 (500, 500) .
사실, 그것은 심지어 GraphBuilderContainerBox() 지정된 크기로 설정된 것을 표시합니다. 먼저 레전드박스() , 나머지(제목/축/축 헤더)는 (500,500) 크기.그것은 단지 말도 안되는 일입니다!
말 그대로 설정할 수 있는 방법이 없습니다. 프레임박스() (예를 들어, 개요 상자( "", 그래프 빌더( ... ) ) 그리고 그랬다 외곽선 상자[프레임 상자( 1 )] << 프레임 크기( 500, 500 )) 인스턴스화 전/중 그래프빌더() 상자.창과 그래프가 생성된 후에만 수행할 수 있습니다.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Cars.jmp" );
New Window( "TEST",
H List Box(
Graph Builder(
Size( 500, 500 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables(
X( :Make ),
X( :Model, Position( 1 ) ),
X( :Year, Position( 1 ) ),
X( :Protection, Position( 1 ) ),
X( :"D/P"n, Position( 1 ) ),
X( :Size, Position( 1 ) ),
X( :Doors, Position( 1 ) ),
Y( :Wt ),
Color( :Model )
),
Elements(
Bar(
X( 1 ),
X( 2 ),
X( 3 ),
X( 4 ),
X( 5 ),
X( 6 ),
X( 7 ),
Y,
Legend( 9 )
)
)
)
,
Graph Builder(
Size( 500, 500 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :Make ), Y( :Wt ) ),
Elements( Bar( X, Y, Legend( 11 ), Error Interval( "Standard Error" ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Grid Line Order( 1 ), Reference Line Order( 2 )}
)
)
)
)
)내가 필요한 것은 차트가 있는 영역( 프레임박스() ) 축의 크기나 텍스트의 길이나 복잡도와 상관없이 고정된 크기로 지정됩니다.

Re: 그래프 빌더 프레임 크기 JSLSize 요소는 Frame(FrameBox()) 크기를 설정합니다.

GraphBuilderContainerBox()를 설정하지 않습니다.

이것이 바로 크기가 설정될 것으로 예상한 것입니다.
Re: 그래프 빌더 프레임 크기 JSL이것은 작동하지 않습니다.FRAME SIZE는 FRAME 주위의 범례/텍스트 영역의 크기에 따라 달라집니다.
Re: 그래프 빌더 프레임 크기 JSL@vishwasanj
크기 인수와 해당 매개변수는 아래 예와 같이 창 크기를 정의하고 제한하는 데 사용할 수 있습니다.
Graph Builder(
Size( 1230, 650 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y, Legend( 1 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y, Legend( 2 ) ) )
)