jsl 中的交互式 html 和本地數據過濾器你好,
我想將相同變量的圖保存為交互式 html,但針對不同值進行過濾。
這是一個例子:
new_window = New Window( "NW", hlb = H List Box() );
for (age_index=1,age_index<=N items(age_list),age_index++,
graph = Graph Builder(
invisible,
Size( 1357, 920 ),
Variables(
X( :index ),
Y( :Height ),
),
Local Data Filter(
Add Filter(
columns( :Age ),
Where( :Age == age_list[age_index] ),)
)
);
dt << save script to data table("my_plot");
hlb << append(V List Box(dt << run script("my_plot"));
);
new_window<<SAVE interactive="" html=""></SAVE>在保存的 html 文件中,對於第一個索引,圖顯示得很好,對於其餘的age_indexes,顯示了圖的軸,但沒有數據。 所以這些地塊都是空的。 運行腳本時打開new_window,數據完整顯示。 即使當我嘗試手動將窗口保存為交互式 HTML 時,也僅顯示第一個age_index 的數據。
有沒有一種方法可以將這些類型的繪圖以交互格式正確保存在一個 html 文件中?
感謝您的幫助
回复:jsl中的交互式html和本地數據過濾器對於交互式 HTML,在這種情況下,只需取消選中“包含”複選框,允許數據過濾器簡單地隱藏/顯示整個數據集的部分內容,而不是僅導出包含的部分(包含和排除行是 JMP 的一項功能),您可能會獲得更好的結果居住)。導出後,您僅隱藏/顯示最初包含的行的子集,而不是整個數據集。然而,我們的目的是使 HTML 輸出的初始顯示與 JMP 匹配,因此如果不是這樣,那就是一個錯誤。交互後,由於“包含”複選框,兩者可能會有所不同。
一般來說,如果我正確理解你的最後一個問題,是的,你可以將多個圖放在儀表板的一個頁面中。另一位用戶詢問有關列切換器(JMP Live 也支持)的問題,我的一位同事提出了交互式 HTML 的幾種解決方法,例如編寫一個腳本來重新創建每列的繪圖,並將它們放入儀表板中,這聽起來就像您所看到的那樣想做。這可能會給你一些想法: https://community.jmp.com/t5/Discussions/How-to-add-HTML-links-to-JMP-interactive-HTML-files/mp/232170#M46067
回复:jsl中的交互式html和本地數據過濾器非常感謝您的建議和解釋。 現在這是有道理的。
我正在使用 JMP 14.2.0。
我實際上需要一頁中的圖,因為它們應該相互比較。
是否可以將每個圖表保存為交互式 html,並將保存的圖表添加到儀表板?
我的列表並不長,大約有 10 個元素。
可能嗎?
回复:jsl中的交互式html和本地數據過濾器@Leily ,
您沒有提及您當前使用的 JMP 版本。在最新版本 JMP 15 中,帶有本地數據過濾器的圖形生成器僅部分實現。例如,使用 JMP 示例數據表學生,而 JMP 中的活動窗口中,當我選擇年齡組時,圖形點元素是動態的。 但是,如果保存為交互式 HTML,則其他元素(例如平滑元素)就不會。下面是使用年齡作為 X 組的圖形生成器圖。 在JMP中,僅顯示我選擇的項目及其平滑器;對於交互式 HTML,非動態元素是固定的。 圖片下方有更多討論。
In JMPIn JMP在 JMP 中
Interactive HTMLInteractive HTML交互式 HTML
如果您只有點元素,請嘗試此腳本。 關鍵是選擇列表中的所有項目,然後將圖表保存為交互式 HTML。 然後您可以在網絡上選擇點。 請注意,圖例和註釋(where 語句)不是動態的。請參閱腳本下方的 HTML 輸出。 鑑於此,有多種方法可以創建 Web 視圖來選擇圖片。
請提供更多詳細信息,例如您使用的 JMP 版本、您的選擇列表是否很長、您希望所有視圖都在水平列表中還是一次只有一個視圖等。
Names Default to Here(1);
dt = open("$Sample_Data/Students.jmp");
graph = dt << Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :age ), Color( :age ) ),
Elements( Points( X, Y, Legend( 152 ) ) ),
Local Data Filter(
Add Filter(
columns( :age ),
Where( :age == {11, 12, 13, 14, 15, 16} ),
Display( :age, Size( 178, 102 ), Height( 102 ) )
)
)
);
graph << save as interactive html("c:/temp/point_selection.htm");
