Die Schriftfarbe ändert sich beim Drehen eines OberflächendiagrammsIch habe ein Oberflächendiagramm mithilfe einer vorhergesagten Formel aus einem definitiven Screening-Design erstellt.
Ich möchte meinen Plot in einer Präsentation mit rotierendem Plot präsentieren. Dazu bin ich diesem Thread gefolgt: https://community.jmp.com/t5/Discussions/Spinning-a-Scatterplot-3D/td-p/6510
Der hier gegebene Ratschlag bezog sich ursprünglich auf ein Streudiagramm, ich habe ihn jedoch mit der gleichen Codezeile zum Laufen gebracht:
Set Spin( 0.01, 0, 0.01, 0 )
Das Drehen funktioniert einwandfrei. Allerdings ändert sich während der Drehung der Grafik die Schriftfarbe von Schwarz zu einem blassen Grau, was die Lesbarkeit erschwert:
Whilst spinningBeim Drehen
Whilst stationaryIm Stand
Weiß jemand, woran das liegt/ob ich etwas tun kann, um das Problem zu beheben? Oder vielleicht eine andere Möglichkeit, die Oberflächenplots zu drehen, die dieses Problem nicht verursacht?
Danke
Datenexploration und -visualisierungVersuchsplanungBetreff: Die Schriftfarbe ändert sich beim Drehen eines OberflächendiagrammsBeeindruckend! Das ist ein wirklich schönes Bild!
Ich bekomme das gleiche Verhalten, wenn ich Set Spin () verwende. Aber nicht, wenn ich das Diagramm manuell durch Klicken und Ziehen drehe.
Ich bin nicht sicher, was dies verursacht oder ob es eine Möglichkeit gibt, es zu beheben. Möglicherweise möchten Sie den technischen Support kontaktieren ( support@jmp.com ). Ich habe unten ein Beispielskript eingefügt, das das Problem demonstriert, über das Sie bei der Verwendung von Tiretread-Beispieldaten sprechen.
Ansonsten können Sie einfach Ihre manuelle Drehung des Plots auf dem Bildschirm aufzeichnen.
Grüße,
Phil
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 ) );Betreff: Die Schriftfarbe ändert sich beim Drehen eines OberflächendiagrammsEs wird absichtlich gedimmt, um den Text weniger abzulenken. Die beschrifteten Achsen schalten bereits um, um dem Diagramm aus dem Weg zu gehen, und waren bei festem Schwarz schwer zu beobachten. Mir ist keine Möglichkeit bekannt, die Funktion zu deaktivieren. Um Phils Vorschlag zu erweitern, können Sie die Frame3D << setRotation-Methode skripten und Bilder aufnehmen.@ Davidbarbour
(Oder es ist schnell genug, dass Sie das Skript einfach ausführen, ohne die Bilder zu erfassen.)
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>
oscillating 3D surfaceoscillating 3D surfaceoszillierende 3D-Oberfläche
Ich habe Gifsicle verwendet, um das animierte Gif zu erstellen. Es gibt viele Möglichkeiten, die Bildsequenz in ein animiertes GIF oder Video umzuwandeln.
gifsicle -O3 -d 10 --loop = 0 surf * .gif> osc.gif