如何透過JSL儲存Dashboard運行動畫(.gif)?專家您好,
我想透過 JSL 將儀表板儲存為 .gif(動畫),因為「日期」在 html 中不是互動的。
動畫的本機資料篩選器是基於 AVI 日期(由於資料刷新,日期每天都會變化)。
在設定並運行動畫控制項後,我可以手動“另存為”.gif。
我認為這種類型的分析也可以透過 JSL 自動化。
因此,我在運行動畫時將儀表板腳本匯出到腳本窗口,但是當我運行腳本時動畫沒有運行。
我的問題是;
- 如何改進此腳本以直接在 JSL 中執行動畫? --> 工作流程沒有捕捉「運行動畫」動作,所以我不知道。
- 如何在JSL中儲存動畫儀表板?
我還參考了下面的其他討論,但該方法適用於圖形生成器,而就我而言,它是儀表板。
https://community.jmp.com/t5/JMP-Scripts/Save-a-Data-Filter-animation-as-an-animated-GIF/ta-p/24003
https://community.jmp.com/t5/Discussions/Saving-JMP-animation/mp/37025
我正在使用 JMP 17.0
先感謝您 !
自動化和腳本編寫數據探索和視覺化Re: 如何透過 JSL 儲存 Dashboard 來運行動畫(.gif)?我正在天才 JMP 技術支援的幫助下更新我的進度;
很酷且有用的額外參考
本地資料過濾動畫
https://community.jmp.com/t5/Discussions/Local-Data-filter-amp-Animation-how-to-specify-the-range/td-p/623973
GIF 動畫
https://community.jmp.com/t5/Uncharted/Animated-GIF-JMP-13/ba-p/21197
1) 目前,JSL 可以使用以下程式碼指示儀表板動畫控制項運行。
// Play animation (button 2) ---> OK
playbtn = window("DashboardName")["Local Data Filter", TabPageBox(1), ButtonBox(2)];
playbtn << Click();2)仍在努力錄製動畫並儲存為動畫gif。
目前,使用以下程式碼的嘗試導致 JMP 崩潰 - 似乎它開始記錄(單擊而不釋放)
// Start to record animation (button 6) --> RUNNING BUT JMP CRASH BEFORE NEXT STEP
startrecordbtn = window("Sheet1_LEFTOUTER - Dashboard")["Local Data Filter", TabPageBox(1), ButtonBox(6)];
startrecordbtn << Click();
wait(1.5);
// Stop to record animation (button 6)
stoprecordbtn = window("Sheet1_LEFTOUTER - Dashboard")["Local Data Filter", TabPageBox(1), ButtonBox(6)];
stoprecordbtn << Click();
wait(1);
// Save recorded animation (button 7)
saveanimation = window("Sheet1_LEFTOUTER - Dashboard")["Local Data Filter", TabPageBox(1), ButtonBox(7)];
saveanimation << Click();
Re: 如何透過 JSL 儲存 Dashboard 來運行動畫(.gif)?即使使用更簡單的腳本,所有透過 JSL 進行「記錄」和「另存為動畫 GIF」指令的嘗試都會以崩潰告終。
我已按照 JMP 技術支援的建議提交了崩潰報告(JMP 17.0 和 17.2 均崩潰。 我使用的是 Windows 10)。
names default to here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp")
dt << Graph Builder(
Size( 588, 528 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :sex ) ),
Elements( Heatmap( X, Y, Legend( 2 ) ) ),
Local Data Filter(
Conditional,
Add Filter(
columns( :age ),
Where( :age == 14 ),
Display( :age, N Items( 6 ) )
),
Animation( Animate Column( :age ) )
)
);
playbtn = Window("Big Class - Graph Builder")["Local Data Filter",TabPageBox(1),ButtonBox(2)];
recordbtn = Window("Big Class - Graph Builder")["Local Data Filter",TabPageBox(1),ButtonBox(6)];
// Test play
print("starting play test");
playbtn << click();
wait(2);
playbtn << click();
print("ending play test");
wait(2);
// Test record
print("starting record test");
recordbtn << set(1);
playbtn << click();
wait(2);
playbtn << click();
recordbtn << set(0);
print("ending play test");希望 JMP 18 會考慮這項改進,以便可以自動記錄和保存動畫 GIF(因為它可以透過用手點擊來完成而不會崩潰)
Re: 如何透過 JSL 儲存 Dashboard 來運行動畫(.gif)?嗯,不知道Jmp 18是否能解決這個問題...
Jmp18 EA 也會因為上面的程式碼而崩潰。
您需要 gif 嗎?或者可以獲取所有步驟的單獨螢幕截圖嗎?
對於後者,您可以編寫一個腳本,按一下資料篩選器中的每個條目,然後將相應的圖形儲存為圖像。
這樣的功能包含在圖形生成器工具列中- 但我剛剛注意到我有一段時間沒有更新社區中的版本了。 -> 我現在剛上傳,但審核過程需要一段時間...
Re: 如何透過 JSL 儲存 Dashboard 來運行動畫(.gif)?嗨,霍吉,
基本上,我只需要一個 gif 動畫。
我的思維過程是;讓JMP透過JSL模仿我的手動點擊。
但是,工作流程或日誌沒有儲存「記錄」點擊活動,以便我可以儲存為動畫 .gif。
我現在能做的最好的事情就是自動化儀表板「運行」。 (無法解決錄製GIF>另存為動畫GIF的問題)。
對於“單擊資料過濾器中的每個條目”,如果使用 BigClass 資料(資料過濾器 = 類別),則可能會起作用。
但是,我的儀表板的實際數據過濾器是日期。我的動畫儀表板範例如下。

如果有解決方法,我將非常感激,因為我需要自動化流程,直到動畫 .GIF。