Hallo, ich bin ganz neu bei JMP und habe eine Frage: Ist es möglich, Animationen zu speichern?
Zum Beispiel, wenn ich in einer Tabelle „Y an X anpassen“ ausführe und dann eine Datenfilteranimation verwende. Wäre es möglich, die Animation/den Clip zu speichern?
Danke!
Ein weiteres Beispiel für das Speichern eines animierten GIF mit einem Datenfilter finden Sie hier: Speichern Sie eine Datenfilter-Animation als animiertes GIF .
Wenn Sie JMP 13 unter Windows verwenden, können Sie die neue JSL-Funktionalität zum Erstellen animierter GIFs verwenden, um Ihre Datenfilter-Animation zu speichern.
Unten sehen Sie ein Beispiel, das einen Graph Builder mit einem lokalen Datenfilter erstellt und ein animiertes GIF speichert und öffnet. Weitere Informationen finden Sie unter @JohnPonte 'S Beitrag über animierte GIFs mit Bubble Plot . Ich habe im folgenden Skript viel Code aus seinem Hurrikan-Beispiel übernommen. Theoretisch kann dies in einem aktuellen Fenster funktionieren, das Sie geöffnet haben, wenn Sie alles ausführen, was mit der Zeile „report = Current Report()“ beginnt.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
gb = dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
Local Data Filter(
Add Filter(
columns( :age ),
Where( :age == 12 ),
Display( :age, Size( 202, 114 ), List Display )
)
)
);
report = Current Report();
ldf_listBox = report[ListBoxBox(1)];
numLevels = NItems(ldf_ListBox << Get ITems);
// Create a new image, same size as the graph we are going to capture
graphFrame = report[FrameBox(1)] << getPicture();
{w, h} = graphFrame << getSize();
img = newImage(w, h);
for(i=1,i<=numLevels,i++,
// deselect old selection
selectedItems = ldf_listBox << Get Selected Indices;
for(k=1,k<=nitems(selectedItems),k++,
ldf_listBox << set selected(selectedItems[k],0);
);
// set the next item selected
ldf_listBox << set selected(i);
wait(0); // wait for the display to update
// Capture frame for current graph and save to animated image
graphFrame = report[FrameBox(1)] << getPicture();
{r, g, b} = graphFrame << getPixels("rgb");
img << addFrame();
img << setFrameDuration(1000); // Time between frames, in ms
img << setPixels("rgb", {r, g, b});
wait(0.5); // for demonstration purposes
);
// Remove inital blank frame
img << removeFrame(0);
// Write out animated image
img << saveImage ("$temp\animated.gif", gif);
// open the gif
open("$temp\animated.gif");
Bearbeitet, um die resultierende GIF-Datei hinzuzufügen:
Resulting animated gifResulting animated gif Resultierendes animiertes GIF