Hallo zusammen,
Ich habe in den Community-Diskussionen nach diesem Thema gesucht, aber bisher hatte ich kein Glück.
Wie kann ich den Graph Builder dazu bringen, abhängig vom Datenbereich eine Variablenskala für die Y-Variable zu versenden?
Verwendung des BigClass-Datenbeispiels Wenn ich mehr als ein Diagramm zeichnen müsste, würde ich das folgende Skript verwenden:
dt= Open ("Big Class.JMP");
win = New window("Graphs", lub = Lineup Box (Ncol(2)));
Sexs = (Associative Array(Column (dt, "sex"))<<GET keys=""></GET>Dieser Code funktioniert für mich.Außerdem passt sich die Y-Skala automatisch an, was großartig ist. Wenn ich jedoch einige Eigenschaften kundenspezifisch beibehalten möchte, beispielsweise möchte ich ein Y-Minimum von 55 haben, möchte aber JMP überlassen, das Y-Maximum entsprechend dem Datenbereich auszuwählen. Wie mache ich das in diesem Fall?
In meiner Situation ist das anders: Ich möchte, dass das Y-Minimum immer Null ist, da ich eine Kurve habe, bei der alle Werte bei Null beginnen, aber aus irgendeinem Grund legt JMP die Achseneinstellungen der Variablen trotzdem beginnend bei negativen Zahlen fest. Selbst wenn ich möchte, dass die Werte für alle Diagramme auf einem bestimmten Y-Minimum angezeigt werden, ist es mir jedoch nicht möglich, dass sich Y Max automatisch entsprechend dem Datenbereich oder bis zum tatsächlichen Y-Maximum ändert.
Wenn ich das obige Skript verwende und dies manuell ausführe, würde ich die resultierende Skriptzeile erhalten, wenn ich ein Y-Minimum nur auf 55 festlege:
SendToReport(Dispatch({},"height",ScaleBox,{Min( 55 ), Inc( 5 ), Minor Ticks( 1 )}));Sie werden sehen, dass die resultierenden beiden Diagramme unabhängig davon das gleiche Y-Maximum aufweisen und auf einen Wert unter 70 eingestellt sind, obwohl eines der Diagramme Daten bis 70 enthält.
Weiß jemand, wie man ein Skript schreibt, das es ermöglicht, den Y-Maximum entsprechend dem Datenbereich zu ändern oder den Max abhängig vom bereits definierten lokalen Filter festzulegen?
Danke
Es sieht so aus, als ob der Maximalwert für beide Diagramme hängen bleibt.Hier gibt es jedoch eine Lösung, die es ermöglicht, dass die Diagramme unabhängig voneinander ausgeführt werden.
dt2 = Open( "$SAMPLE_DATA\Big Class.JMP" );
win = New Window( "Graphs", lub = Lineup Box( N Col( 2 ) ) );
Sexs = (Associative Array( Column( dt2, "sex" ) ) << Get keys);
For( i = 1, i <= N Items( Sexs ), i++,
dt2 << select where( :sex == sexs[i] );
dt = dt2 << subset( invisible, selected rows( 1 ), selected columns( 0 ) );
lub << append(
gb = dt << Graph Builder(
Variables( X( :weight ), Y( :height ), Wrap( :sex, N View Levels( 1 ) ) ),
Elements( Points( X, Y, Legend( 7 ) ), Smoother( X, Y, Legend( 9 ) ) ),
Local Data Filter(
Close Outline( 1 ),
Add Filter(
columns( :Sex ),
Where( :Sex == Sexs[i] ),
Display( :Sex, Size( 224, 126 ), List Display )
)
)
);
Report( gb )[AxisBox( 2 )] << Min( 0 );
)
;
);