旋轉表面圖時字體顏色發生變化我已經使用確定的篩選設計中的預測公式生成了表面圖。
我想在情節旋轉的演示文稿中介紹我的情節。 為此,我遵循以下線程: https://community.jmp.com/t5/Discussions/Spinning-a-Scatterplot-3D/td-p/6510
這裡的建議原本是針對散點圖的,但是我使用同一行代碼使它起作用:
Set Spin( 0.01, 0, 0.01, 0 )
旋轉效果很好,但是當繪圖旋轉時,字體顏色從黑色變為淺灰色,使它們更難以閱讀:
旋轉時
固定的
有誰知道是什麼原因造成的/如果我有什麼辦法可以解決此問題? 還是以其他方式使表面圖旋轉而不導致此問題?
謝謝
圖形腳本編寫回复:旋轉表面圖時,字體顏色會改變哇! 那是一個非常美麗的視覺!
當我使用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 ) );回复:旋轉表面圖時,字體顏色會改變它故意變暗,以減少文本的干擾。 標記的軸已經在切換,以避開圖形,並且當純黑色時很難觀察。 我不知道有任何方法可以禁用該功能。 要擴展Phil的建議,您可以編寫Frame3D << setRotation方法的腳本並捕獲圖像。@davidbarbour
(或者,它足夠快,您可能只運行腳本而不捕獲圖像。)
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 cosine
ipic=0;
For( n = 1, n <= 3, n += 1,
For( i = 0, i < 1, i += 1 / 32,
delta = 5 * Cos( 2 * Pi() * i ); // 5 * (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>
振盪3D表面
我用gifsicle製作了動畫gif;有很多方法可以將圖像序列轉換為動畫gif或視頻。
gifsicle -O3 -d 10 --loop = 0 surf * .gif> osc.gif