Möglich, die Untergrenze der Animationsvariablen zu sperren?Hallo,
Ich finde die Animationsfunktion unglaublich nützlich, um schnell meine Daten zu durchsuchen.
Ich habe einen Datensatz mit drei Spalten, Zeit, Variable 'X' und Variable 'Y'. Zeichnen von X vs. Y und die Animation über einen längeren Zeitraum laufen zu lassen, ist von Interesse, aber es scheint, dass ich nur die Start- und Endzeiten einstellen kann und dieselbe festgelegte Zeitspanne beibehält, wenn sie im Zeitverlauf voranschreitet.
Was ich gerne tun würde, ist, den oberen Zeitfilter-Scan von 0 bis zum Zeitpunkt X zu scannen, aber den unteren Zeitfilter-Grenzwert auf Null zu halten, was im Wesentlichen eine unendliche Dauerhaftigkeit des X vs. Y-Plot
Weiß jemand, ob das möglich ist? Vielen Dank!
Betreff: Kann die untere Grenze der Animationsvariablen gesperrt werden?Die Bubble-Plot-Plattform scheint in der Lage zu sein, was ich brauche, aber die Höchstgeschwindigkeit ist sehr langsam. Meine Daten sind Samples mit 10 Samples / s und idealerweise hätte ich die Animation gerne 100x schneller.
Betreff: Kann die untere Grenze der Animationsvariablen gesperrt werden?Ich denke, mein Beispiel könnte meine ursprüngliche Frage entgleist haben.
Ich habe gerade vier Schnappschüsse ausgewählt, um den Fortschritt zu veranschaulichen, da ich nicht weiß, wie eine GIF oder ein Video der Animation gespeichert werden soll, die ich generieren möchte.
Ich möchte eine Animation meiner Daten erstellen, wobei die untere Filtergrenze der Zeitvariablen in dieser Spalte auf dem Mindestwert bleibt (time = 0) und die obere Grenze "animiert" ist, um von time = 0 bis zum Ende und zur Schleife zu gehen.
Betreff: Kann die untere Grenze der Animationsvariablen gesperrt werden?Eine weitere Möglichkeit zur Umgehung. Fügen Sie denselben Filter viermal mit der Option "Oder" anstelle von "Hinzufügen" hinzu. Das Bild unten zeigt, wie es aussehen wird. Wenn Sie nur bestimmte Filter verwenden möchten, klicken Sie auf den roten Hotspot für den gewünschten Schieberegler und klicken Sie auf "Auswahl löschen".

Betreff: Kann die untere Grenze der Animationsvariablen gesperrt werden?Der schnelle und schmutzige Weg wäre, den Text des Graph Builder-Skripts direkt mit abnehmenden Endjahren, aber mit festen Startjahren zu ändern. Sie könnten eine ganze Reihe von Diagrammerstellungsfenstern generieren, die sich direkt überlappen, und diese dann nacheinander mit den entsprechenden Wartezeiten schließen, um den gewünschten Effekt zu erzielen.Betreff: Kann die untere Grenze der Animationsvariablen gesperrt werden?Hallo Jim,
Wenn Sie sich den Beispieldatensatz CO2.jmp ansehen.
Ein einfaches Beispiel für das, was ich versuche, wäre, "CO2" auf der Y-Achse und "Monat" auf der X-Achse zu zeichnen und die Local Data Filter-Animation zu verwenden, um die Spalte "Jahr & Monat" zu fegen, aber die untere Ebene zu halten -gebundene Statik, während sich die Obergrenze frei bewegen kann und dann zum Anfang zurückgeht.
Nachfolgend finden Sie vier Momentaufnahmen, wie es aussehen würde.

Betreff: Kann die untere Grenze der Animationsvariablen gesperrt werden?Zuerst ein schamloser Plug für meine eigene Feature-Anfrage: Wenn verschachtelte Datenfilter-Kontextfelder voneinander abhängig sein könnten, wäre dies einfach.
Hoffentlich kennt jemand einen einfacheren Weg, aber meine Lösung für ähnliche Situationen besteht darin, die Datentabelle zu subsetieren und das Diagramm mit dieser gefilterten Tabelle zu erstellen:

Names default to here( 1 );
dt = Open( "$Sample_data/Time Series/Raleigh Temps.jmp" );
dtfltrd = .;
enddate_unused = Date dmy( 1, 1, 1990 );
UpdateGraph = function( {enddate},
//Close the subset data table
Try( dtfltrd << Close Window; );
//Make a subset table linked to the original table that is filtered based on the slider
dtfltrd = dt << Subset(
Private,
Rows( Loc( ( Column( dt, "Month/Year" ) << Get values) <= enddate ) ),
Link to original data table( 1 )
);
//Remove the existing graph
Try( (bb_graph << Child ) << Delete );
//add a new graph that only contains data in the subset data table
bb_graph << Append(
dtfltrd << Graph Builder(
Size( 553, 561 ),
Show Control Panel( 0 ),
Variables( X( :Temperature ), Y( :Predicted Temperature ) ),
Elements( Smoother( X, Y, Legend( 508 ) ), Points( X, Y, Legend( 509 ) ) ),
Local Data Filter(
Add Filter(
columns( :Name( "Month/Year" ) )
),
Animation( Animate Column( :Name( "Month/Year" ) ), Animate Rate( 4 ) )
)
)
);
//Update text box with the filtered date
tb_enddate << Set Text( Format( enddate, "yyyy-mm-dd" ) );
);
win = New Window( "Animation",
H List Box(
V List Box(
H Center Box( Text Box("Set Max Date:", Set Font Style( "bold" ) ) ),
H Center Box( tb_enddate = Text Box() ),
H Center Box( sb_enddate = Slider Box(
Col Min( Column( dt, "Month/Year" ) ),
Col Max( Column( dt, "Month/Year" ) ),
enddate_unused,
UpdateGraph(enddate_unused)
) ),
<< Margin( 10 )
),
bb_graph = Border Box()
)
);
//Put the first graph in the box
UpdateGraph( Date mdy( 1, 1, 1990 ) );
Betreff: Kann die untere Grenze der Animationsvariablen gesperrt werden?Könnten Sie bitte ein Beispiel für die Daten und die Anzeige angeben, für die Sie Werte festlegen möchten? Das wäre sicherlich hilfreich, um sicherzustellen, dass ich Ihre Anfrage verstehe.
Betreff: Kann die untere Grenze der Animationsvariablen gesperrt werden?Hallo Jim,
Danke für Ihre Antwort. Ich bin mir nicht sicher, was Sie meinen, wenn Sie mit der rechten Maustaste auf die Achse klicken und den Mindestwert einstellen.
Ich habe eine Darstellung von Y vs. X, aber die Animation, die ich ausführen möchte, läuft über eine dritte Variable (Zeit), es gibt also keine Achse, nur einen Datenfilter.
Betreff: Kann die untere Grenze der Animationsvariablen gesperrt werden?Wenn Sie mit der rechten Maustaste auf die Achse klicken, die auf 0 festgelegt werden soll, und den Minimalwert der Achse auf 0 setzen, können Sie einen lokalen Datenfilter verwenden und der Minimalwert bleibt statisch. Unten sehen Sie ein Beispielskript, das ein Beispiel zeigt
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
Bivariate(
Y( :height ),
X( :weight ),
Automatic Recalc( 1 ),
Local Data Filter( Add Filter( columns( :age ), Display( :age, Size( 160, 90 ), List Display ) ) ),
SendToReport( Dispatch( {}, "2", ScaleBox, {Min( 0 )} ) )
);