Scatterplot 3D 컨테이너 가져 오기안녕하세요,
Scatterplot 3D에서 데이터를 나타낼 때 몇 가지 작업을 자주 반복합니다. 예를 들어, Color Theme (색상 막대), 점의 크기 등을 변경합니다. 테이블은 다르지만 작업은 동일하며 특정 열을 참조하지 않으므로 작업을 자동화 할 수 있다고 가정합니다.
이미 열려있는 그래프에 대해이를 스크립팅하는 방법을 궁금합니다. 2 차원 grahps 들어, 예를 들어,이 명령을 사용하여 컨테이너를 참조 할 수 있습니다 :
Window( Window name )[framebox( 1 )] << set background color( "gray" );
그러나 나는 산란계 3D에서 그것을 사용할 수 없다.
고맙습니다,
데이비드
Re : Scatterplot 3D의 컨테이너를 얻는 방법안녕하세요 @진주 ,
Scatterplot 3D는 Display3DBox를 사용하므로 해당 객체를 참조하고 대부분의 메시지 (벽 색, 마커, 회전, 회전 등 설정)에 사용할 내용을 참조해야합니다.
Window( Window name )[Display3DBox(1)]
배경색을 설정해야하는 경우 실제로는 SceneBox를 참조해야합니다.
Window( Window name )[SceneBox(1)]<<BACKGROUND color=""></BACKGROUND>
다음은 벽과 배경을 모두 파란색으로 설정 한 전체 예제입니다.
Open( "$SAMPLE_DATA\Big Class.jmp" );
s3d = Scatterplot 3D( Y( :age, :height, :weight ), Frame3D( Set Grab Handles( 0 ) ) );
//view properties if you wish to see options
//show properties(Window( "Big Class - Scatterplot 3D" )[SceneBox(1)])
//show properties(Window( "Big Class - Scatterplot 3D" )[Display3DBox(1)])
Window( "Big Class - Scatterplot 3D" )[Display3DBox( 1 )] << Set Wall Color( 5 );
Window( "Big Class - Scatterplot 3D" )[Scene Box( 1 )] << Background color( blue );
이게 도움이 되길 바란다!
@ 율리안
Re : Scatterplot 3D의 컨테이너를 얻는 방법색상을 대화식으로 변경하고 스크립트를 저장하면 Scatterplot 3D는 색상을 스크립트의 일부로 직접 기록합니다.
Scatterplot 3D(
Y( :age, :height, :weight ),
Frame3D(
<STRONG>Set Wall Color( -16750758 ),</STRONG>
Set Grab Handles( 0 ),
Set Rotation( -52.9429431878029, -1.24217455677765, 22.838483399832 ),
<STRONG>Background Color( 144, 191, 4 )</STRONG>
)
);
이것은 플랫폼이 시작될 때 원하는 색상을 알고 있다면 가장 쉬운 해결책 일 수 있습니다.
Re : Scatterplot 3D의 컨테이너를 얻는 방법안녕하세요 @ 율리안 ,
대답 해 주셔서 감사합니다. Display3DBox는 많은 속성을 변경하는 데 매우 유용합니다.
그러나, 나는 아직도 음모의 전설을 바꿀 수 없다. 스크립트를 저장하면 이것이 코드이며 SendToReport (Dispatch (...)) 아래에 나타납니다.
obj = Scatterplot 3D(
Y( :x, :y, :z ),
Coloring( :T composed 2 ),
Legend( 84 ),
Frame3D( Legend( 1 ), Set Grab Handles( 0 ), Set Rotation( -54, 0, 38 ) ),
SendToReport(
Dispatch(
{},
"100",
ScaleBox,
{Legend Model( 3, Properties( 0, {gradient( {Color Theme( "Spectral" )} )} ) )}
)
);
);이러한 속성에 액세스하는 방법을 알고 있습니까? 창문 ( 창 이름 ) [ Display3DBox ( 1 ) ] ?
Re : Scatterplot 3D의 컨테이너를 얻는 방법고맙습니다 @ 단시 코레 가장 쉬운 해결책은 기본 설정에서 기본 설정을 변경하는 것입니다. 그러나 스크립트의 속성을 변경하면 나중에 유용 할 수 있습니다.Re : Scatterplot 3D의 컨테이너를 얻는 방법안녕하세요 @진주 ,
옵션을 파견하도록 플랫폼에 알리기 위해서는 보고서 창보다는 스크립트 가능한 객체 (scatterplot 3d 플랫폼 자체)에 대한 핸들이 필요합니다. << Get Scriptable Object를 사용하여 우리를 도울 수 있습니다. 해당 핸들이 있으면 스크립트를 저장할 때 찾은 정확한 발송 메시지를 보낼 수 있습니다. 필자가 보여준 이전의 커스터마이제이션을 포함한 전체 예제가 있습니다.
Open( "$SAMPLE_DATA\Big Class.jmp" );
s3d = Scatterplot 3D( Y( :age, :height, :weight ), Coloring( :sex ), Legend( 17 ), Frame3D( Legend( 1 ) ) );
//view properties if you wish to see options
//show properties(Window( "Big Class - Scatterplot 3D" )[SceneBox(1)]);
//show properties(Window( "Big Class - Scatterplot 3D" )[Display3DBox(1)]);
//set colors, contolled in the report layer<BR />Window( "Big Class - Scatterplot 3D" )[Display3DBox( 1 )] << Set Wall Color( 5 );
Window( "Big Class - Scatterplot 3D" )[Scene Box( 1 )] << Background color( blue );
//find the scriptable object so that options can be dispatched
s3dFound = Window( "Big Class - Scatterplot 3D" )[Outline Box( 1 )] << Get Scriptable Object;
//Dispatch options by sending messages to that scriptable object
s3dFound << Dispatch(
{},
"100",
ScaleBox,
{Legend Model(
17,
Properties( 0, {Line Color( 73 ), Marker Size( 10 )}, Item ID( "F", 1 ) ),
Properties( 1, {Line Color( 45 ), Marker Size( 10 )}, Item ID( "M", 1 ) )
)}
);
@ 율리안
Re : Scatterplot 3D의 컨테이너를 얻는 방법스크립트를 사용하여 출력을 생성하면 플랫폼에 대한 핸들을 이미 갖게됩니다 (플랫폼을 시작할 때 그렇게했다고 가정). 내 예에서는 s3d입니다. 그러나 스크립트에 의해 생성되지 않은 윈도우가있는 경우 << Get Scriptable Object를 사용하면 해당 플랫폼에 대한 핸들을 설정할 수 있습니다.Re : Scatterplot 3D의 컨테이너를 얻는 방법고맙습니다 @ 율리안 , 이것은 매우 흥미 롭습니다.