您好,我是 JMP 的新手,有一個問題:是否可以保存動畫?
例如,如果我在某個表上用 X 調整 Y,然後使用數據過濾器動畫。 是否可以保存動畫/剪輯?
謝謝!
您可以在此處找到使用數據過濾器保存動畫 GIF 的另一個示例:將數據過濾器動畫另存為動畫 GIF .
如果您在 Windows 上使用 JMP 13,則可以使用新的 JSL 功能創建動畫 GIF 來保存您的數據過濾器動畫。
下面是一個示例,它將創建一個帶有本地數據過濾器的圖形生成器,並且將保存和打開動畫 GIF。 有關更多信息,請查看@約翰龐特的使用氣泡圖發布有關動畫 GIF 的信息. 我在下面的腳本中從他的颶風示例中藉用了很多代碼。 從理論上講,如果您運行以“report = Current Report()”行開頭的所有內容,這可以在您打開的當前窗口上工作。
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");
編輯以添加生成的 GIF 文件:
Resulting animated gif生成的動畫 gif