곡면 플롯을 회전할 때 글꼴 색상이 변경됩니다.최종 선별 설계에서 예측된 공식을 사용하여 표면 플롯을 생성했습니다.
플롯을 회전하면서 프레젠테이션으로 내 플롯을 발표하고 싶습니다. 그렇게 하기 위해 나는 이 스레드를 따랐습니다: https://community.jmp.com/t5/Discussions/Spinning-a-Scatterplot-3D/td-p/6510
여기에 있는 조언은 원래 분산형 차트에 대한 것이었지만 동일한 코드 줄을 사용하여 작동하게 했습니다.
Set Spin( 0.01, 0, 0.01, 0 )
회전은 잘 작동하지만 플롯이 회전할 때 글꼴 색상이 검은색에서 희미한 회색으로 변경되어 읽기가 더 어려워집니다.
Whilst spinning회전하는 동안
Whilst stationary정지해 있는 동안
이 문제의 원인이 무엇인지 아는 사람이 있나요/문제를 해결하기 위해 제가 할 수 있는 일이 있다면? 아니면 이 문제가 발생하지 않도록 표면 플롯을 회전시키는 다른 방법이 있을까요?
감사해요
데이터 탐색 및 시각화실험 설계Re : 곡면 플롯을 회전 할 때 글꼴 색상 변경와! 정말 아름다운 비주얼입니다!
Set Spin ()을 사용할 때 동일한 동작이 발생합니다. 그러나 클릭 앤 드래그를 사용하여 플롯을 수동으로 회전 할 때는 아닙니다.
이 문제의 원인이나 해결 방법이 있는지 잘 모르겠습니다. 기술 지원에 문의 할 수 있습니다 ( support@jmp.com ). 아래에 Tiretread 예제 데이터 사용에 대해 이야기하고있는 문제를 보여주는 예제 스크립트를 붙여 넣었습니다.
그 외에는 플롯의 수동 회전을 화면 기록 만 할 수 있습니다.
문안 인사,
필
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
obj = Surface Plot(
Columns( :Pred Formula ABRASION ),
Control Panel( 0 ),
Surface Color Theme( "Green to Black to Red" ),
Surface Color Theme2( "Green to White to Red" ),
Surface Color Theme3( "White to Black" ),
Surface Color Theme4( "Blue to Gray to Red" ),
Response Column Color Theme( "Blue to Green to Red" ),
Response Column Color Theme2( "Blue to Gray to Orange" ),
Response Column Color Theme3( "Spectral" ),
Response Column Color Theme4( "Jet" ),
Formula( "Pred Formula ABRASION" ),
Surface Color Method( "Solid", "Solid", "Solid", "Solid" ),
SetVariableAxis( :SILICA, Axis Data( {} ) ),
SetVariableAxis( :SILANE, Axis Data( {} ) ),
SetZAxis( :Pred Formula ABRASION, Current Value( 125 ), Axis Data( {} ) ),
SetXVariable( :SILICA ),
SetYVariable( :SILANE ),
Iso Value( 0, 139.119238722664 ),
Frame3D(
Set Graph Size( 470, 470 ),
Set Grab Handles( 0 ),
Set Hide Lights Border( 1 ),
Set Rotation( -66.7809360215981, 3.32558351899253, 44.6221502352661 )
)
);
obj << Frame3D( Set Spin( 0.1, 0, 0.01, 0 ) );Re : 곡면 플롯을 회전 할 때 글꼴 색상 변경텍스트를 덜 산만하게 만들기 위해 의도적으로 흐리게 표시됩니다. 레이블이 지정된 축은 이미 그래프에서 벗어나려고 전환 중이며 단색 검정색 일 때는보기가 어려웠습니다. 이 기능을 비활성화하는 방법을 모릅니다. Phil의 제안을 확장하기 위해 Frame3D << setRotation 메서드를 스크립팅하고 이미지를 캡처 할 수 있습니다.뿡 빵뀨
(또는 이미지를 캡처하지 않고 스크립트를 실행하는 것만으로도 충분히 빠릅니다.)
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
obj = Surface Plot(
Columns( :Pred Formula ABRASION ),
Control Panel( 0 ),
Surface Color Theme( "Green to Black to Red" ),
Surface Color Theme2( "Green to White to Red" ),
Surface Color Theme3( "White to Black" ),
Surface Color Theme4( "Blue to Gray to Red" ),
Response Column Color Theme( "Blue to Green to Red" ),
Response Column Color Theme2( "Blue to Gray to Orange" ),
Response Column Color Theme3( "Spectral" ),
Response Column Color Theme4( "Jet" ),
Formula( "Pred Formula ABRASION" ),
Surface Color Method( "Solid", "Solid", "Solid", "Solid" ),
SetVariableAxis( :SILICA, Axis Data( {} ) ),
SetVariableAxis( :SILANE, Axis Data( {} ) ),
SetZAxis( :Pred Formula ABRASION, Current Value( 125 ), Axis Data( {} ) ),
SetXVariable( :SILICA ),
SetYVariable( :SILANE ),
Iso Value( 0, 139.119238722664 ),
Frame3D(
Set Graph Size( 470, 470 ),
Set Grab Handles( 0 ),
Set Hide Lights Border( 1 ),
//Set Rotation( 10, 20, 30 )
)
);
//oscillate using sine
ipic=0;
For( n = 1, n <= 3, n += 1,
For( i = 0, i < 1, i += 1 / 32,
delta = 5 * Cos( 2 * Pi() * i ); // 15 * (1..-1..1)
obj << frame3d( setrotation( 10 + delta, 20 + delta, 30 + delta ) );
obj << updatewindow;
Wait( 0 );
// take picture here if wanted
//img = report(obj)[SceneBox(1)]<<GETPICTURE></GETPICTURE>
oscillating 3D surfaceoscillating 3D surface진동하는 3D 표면
애니메이션 GIF를 만들기 위해 gifsicle을 사용했습니다. 일련의 이미지를 애니메이션 GIF 또는 비디오로 바꾸는 방법에는 여러 가지가 있습니다.
gifsicle -O3 -d 10 --loop = 0 surf * .gif> osc.gif