Graph Builder wird nicht automatisch skalierenHallo,
Ich starte einen Graph Builder und einen Datenfilter von einem Dashboard aus. Das Diagramm zeigt das Datum auf der x-Achse und die Anzahl auf der y-Achse. Wenn ich das Datum filtere, verschwinden die Daten außerhalb des Datumsbereichs aus dem Diagramm, aber das Diagramm skaliert die x-Achse nicht automatisch, um mit den Daten innerhalb des gefilterten Bereichs übereinzustimmen (stattdessen ist der Datumsbereich der x-Achse derselbe wie vor dem Filtern der Datumsbereich).
Ich weiß, dass ich die Datentabelle öffnen kann, dann zu den Spalteneigenschaften, dann zu den Achsen, dann zum Entfernen von Min und Max, und dann funktioniert es, aber ich muss die automatische Skalierung automatisch durchführen.
Das Graph-Builder-Skript sieht folgendermaßen aus:
SPC = Open("C:\blahblahblah.csv",unsichtbar);
Spalte (SPC, "bla") << Datentyp (Numerisch) << Modellierungstyp (kontinuierlich) << Format (Best, 1);
Spalte (SPC, "blah2") << Datentyp (Numerisch) << Modellierungstyp (kontinuierlich) << Format (Best, 1);
plot_box=vlistbox(
SPC << Graph Builder(
Größe (1372, 867),
Systemsteuerung anzeigen ( 0 ),
Automatische Neuberechnung( 1 ),
Automatische Dehnung ( 0 ),
Variablen (X(:Date time ran ), Y(:blah), Y(:blah2), Overlay(:blah3)),
Elemente (
Position( 1, 1 ),
Punkte ( X, Y, Legende ( 1 ), Jitter ( 1 ) ),
),
Elemente (
Position( 1, 2 ),
Punkte (X, Y, Legende (4), Jitter (1)),
),
SendToReport(
Versenden(
{},
"Datum Uhrzeit abgelaufen",
ScaleBox,
{Intervall( "Tag" ),
Inc( 3 ), Minor Ticks( 1 ),
(dann ein paar Referenzlinien)
...
Könnte mir bitte jemand raten?
Vielen Dank .
Re: Graph Builder skaliert nicht automatischHallo, die einzige Möglichkeit, wie ich herausfand, dass Graph Builder die gewünschten Datumseinstellungen der X-Achse beibehält und eine Neuskalierung mit diesen Einstellungen beim Filtern ermöglicht, besteht darin, das Datum in den Datentyp "Ordinal" zu ändern
Re: Graph Builder skaliert nicht automatischIch sehe ein ähnliches Neuskalierungsverhalten in JMP 14, wobei Referenzlinien auf der x-Achse verwendet werden. Mit anderen Worten scheint JMP zu versuchen, das Skript oder die Referenzzeilen beizubehalten.Hier ist ein Beispiel für die Angabe von Referenzzeilen über JSL.
Dispatch(
{},
"Date",
ScaleBox,
{Format( "yyyyQq", 6 ), Min( 3092688000 ), Max( 3284668800 ),
Interval( "Year" ), Inc( 1 ), Minor Ticks( 0 ),
Add Ref Line( Informat("06Mar2003", "ddmonyyyy"), "Solid", "Gray", "", 1 ),
Add Ref Line( Informat("16Jul2006", "ddmonyyyy"), "Solid", "Black", "", 1 )}
)Wenn Sie ein Modell posten, wie Sie die Referenzlinien hinzufügen, kann ich ein Skript zeigen, um ein Schaltflächenfeld hinzuzufügen, um die Neuskalierung zu erzwingen. Ich kann es nicht testen, da ich kein JMP 11 habe, aber ich denke, es wird funktionieren.
Re: Graph Builder skaliert nicht automatischDanke für Ihre Antwort.
Seltsamerweise werden die Datumsangaben beim Sperren von Skalen und Entsperren von Skalen nicht für die Datumsbereiche außerhalb meiner Referenzlinien skaliert (wenn ich versuche, einen Datumsbereich auszuwählen, der keine Referenzlinien enthält, tut dies das Datum (x-Achse). nicht skalieren, aber die Daten außerhalb dieses Bereichs werden ausgeschlossen; wenn ich einen Datumsbereich auswähle, der innerhalb der Gruppierung von Referenzlinien liegt, werden die Daten (x-Achse) skaliert). Ich habe JMP 11; vielleicht ist das ein Bug in dieser Version? Oder hätte ich meine Betreffzeilen vielleicht nicht codieren sollen? Ich weiß jedoch nicht, wie man Referenzlinien entlang der x-Achse zeichnet ...
Re: Graph Builder skaliert nicht automatischIch sehe das gleiche Verhalten bei GraphBuilder.Ich habe die Option bemerkt Waage sperren auf GraphBuilder. Wenn ich jedoch beim Erstellen von GraphBuilder Lock Scales(0) festlege, wird die x-Achse immer noch nicht neu skaliert.Wenn Sie nach dem Erstellen des GraphBuilder Wenn Sie Skalen sperren aktivieren und wieder deaktivieren, wird die Achse skaliert, aber sie hat keine benutzerdefinierte Achsenformatierung. Das folgende Beispiel verwendet yyyyQq. Das folgende Skript wird in JMP 12, 13 und 14 ausgeführt.
Wenn Sie JMP 14 haben, entfernen Sie das /* in Zeile 52 und führen Sie das Skript aus.In JMP 14 gibt es Data Filter Handler, ein Skript, das ausgeführt wird, wenn der Filter geändert wird. Wenn Sie also ein spezielles Achsenformat haben, können Sie es im Handler angeben.
Lock Scales(0) in der GraphBuilder-Aufruffunktion scheint nicht wie beschrieben zu funktionieren. Aber aktivieren und deaktivieren scheint zu funktionieren.
Names Default to Here(1);
dt = Open("$sample_data/Australian Tourism.jmp");
gb = dt << Graph Builder(
Show Control Panel( 0 ),
Show Legend( 0 ),
Lock Scales(0),
Variables(
X( :Date ),
Y( :Name( "Revenue ($'000)" ) ),
Y( :Name( "Bed occupancy rate (%)" ) ),
Y( :Name( "Average length of stay (days)" ) )
),
Elements(
Position( 1, 1 ),
Points( X, Y, Legend( 4 ) ),
Smoother( X, Y, Legend( 3 ) )
),
Elements(
Position( 1, 2 ),
Points( X, Y, Legend( 1 ) ),
Smoother( X, Y, Legend( 2 ) )
),
Elements(
Position( 1, 3 ),
Points( X, Y, Legend( 6 ) ),
Smoother( X, Y, Legend( 5 ) )
),
SendToReport(
Dispatch(
{},
"Date",
ScaleBox,
{Format( "yyyyQq", 6 ), Min( 2953282344.82759 ), Max( 3408220800 ),
Interval( "Year" ), Inc( 1 ), Minor Ticks( 0 )}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "Tourism Trends" )} )
)
);
filter = gb << Local Data Filter(
Add Filter(
columns( :Year )
)
);
gb << Lock Scales(1);
wait(0);
gb << Lock Scales(0);
/*
f = function({a},
print(a);
gb << Lock Scales(1);
wait(0);
gb << Lock Scales(0);
gb << Dispatch(
{},
"Date",
ScaleBox,
{Format( "yyyyQq", 6 ),
Interval( "Year" ), Inc( 1 ), Minor Ticks( 0 )}
);
);
rs = filter << Make Filter Change Handler( f );