Konturdiagramm, X- und Y-Bereiche in JSL festlegenGibt es beim Erstellen eines Konturdiagramms in JSL eine Möglichkeit, feste (vorgegebene) Werte für das X- und Y-Maximum und -Minimum festzulegen? Dh um den Bereich zu definieren, den das Konturdiagramm abdecken soll, wie dies manuell im Dialogfeld X / Y-Achseneinstellungen möglich ist?
Meine Datensätze decken unterschiedliche Bereiche in x und y ab, aber ich möchte, dass alle Konturdiagramme die gleichen x- und y-Ausmaße haben.
Etwas wie:
Contour Plot(
X( :X_col, :Y_col ),
Y( :data ),
X_minimum(-75000),
X_maximum(75000)
)
(Dies funktioniert offensichtlich nicht.)
GrafikSkriptingBetreff: Konturdiagramm, X- und Y-Bereiche in JSL festlegenDie Nachrichten, die an das Konturdiagramm gesendet werden können, werden im Skriptindex unter der Auswahl Konturdiagramm dokumentiert.Was Sie suchen, ist die Nachricht Konturen angeben.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Little Pond.jmp" );
obj = dt << Contour Plot( X( :X, :Y ), Y( :Z ) );
obj << Specify Contours(
Min( -4 ),
Max( 8 ),
N( 4 )
);
Betreff: Konturdiagramm, X- und Y-Bereiche in JSL festlegenVielen Dank für die schnelle Antwort, aber damit wird der Z-Bereich festgelegt. Ich möchte jedoch die XY-Ausdehnung des Konturdiagramms festlegen. Ich habe zuvor versucht, das Ergebnis des manuellen Prozesses im Skriptfenster zu speichern, aber am Ende habe ich Folgendes festgestellt:
SendToReport(
Dispatch(
{},
"1",
ScaleBox,
{Min( -75000 ), Max( 75000 ), Inc( 20000 ), Minor Ticks( 0 )}
)
)Ich konnte dies nicht in den Aufruf der Contour Plot-Plattform mit JSL integrieren.
Betreff: Konturdiagramm, X- und Y-Bereiche in JSL festlegen
Meinen Sie das mit Eingliederung?
Was sagt Ihr Protokollfenster?
Betreff: Konturdiagramm, X- und Y-Bereiche in JSL festlegenDies funktioniert jedoch nur mit dem Befehl Species Contours (). Wenn ich diese Zeile herausnehme, zeichnet das Protokollfenster Folgendes auf:
Cannot find ScaleBox[ "1" ] at {}
Cannot find ScaleBox[ "2" ] at {}Leider möchte ich die Konturgrenzen (in Z) nicht manuell definieren, ich war zufrieden damit, dass JMP dies automatisch tut. Mein Datensatz ist ziemlich groß, und ich erstelle daraus mehrere Konturdiagramme. Daher ist es möglich, die Min- und Max-Werte für jeden manuell zu berechnen und an den Befehl Species Contours () zu übergeben, ist jedoch etwas umständlich.
Betreff: Konturdiagramm, X- und Y-Bereiche in JSL festlegenWenn Sie die X-Achsenwerte und nicht die Konturwerte ändern möchten, können Sie diese durch Ändern der AxisBox-Werte für die X-Achse festlegen
.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Little Pond.jmp" );
obj = dt << Contour Plot( X( :X, :Y ), Y( :Z ) );
Report( obj )[AxisBox( 2 )] << Min( 100 ) << Max( 300 );

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Little Pond.jmp" );
obj = dt << Contour Plot( X( :X, :Y ), Y( :Z ) );
Report( obj )[AxisBox( 2 )] << Min( -100 ) << Max( 400 );
Betreff: Konturdiagramm, X- und Y-Bereiche in JSL einstellenDanke Jim, das habe ich gesucht!
Ein kleines Detail - wie bereits erwähnt, erstelle ich mehrere Plots mit dem Attribut "By". Also musste ich alle obj-Elemente durchlaufen:
n = N Items( obj );
For(i = 1, i <= n, i++,
Report( obj[i] )[AxisBox( 1 )] << Min( -75000 ) << Max( 75000 ) << Inc( 25000 );
Report( obj[i] )[AxisBox( 2 )] << Min( -75000 ) << Max( 75000 ) << Inc( 25000 );
);
Dies funktioniert, aber bitte lassen Sie es mich wissen, falls es einen eleganteren Weg gibt.