列切換器重置圖表並刪除腳本對象您好,最近(轉移到 JMP17 後)每當我使用列開關時,它都會重置圖表。刪除圖例,恢復圖形大小並刪除我放置在圖形上的腳本物件。這種情況發生在變異性圖表上,而且類似的問題也發生在等值線圖上,其中列切換器實際上複製了腳本物件並刪除了圖例。阻止它這樣做的唯一方法是刪除自動重新計算,這適用於等值線圖,但不適用於其他圖表分析。
如何防止這種情況發生並在滾動列切換器時保持所有圖表設定和腳本物件完好無損?
基礎資料分析與建模回覆:列切換器重置圖表並刪除腳本對象在 JMP 18+ 中,許多情況下都改進了具有列切換器(和其他功能)的自訂報告。在早期版本中,當要變更的列名出現在自訂顯示項目的標題或文字中時,往往會出現問題。以下腳本在 JMP 17 中不起作用,但在 JMP 18 中起作用。
dt = Open( "$SAMPLE_DATA/Variability Data/2 Factors Crossed.jmp" );
vc = dt << Variability Chart(
Y( :Measurement ),
X( :Operator, :part# ),
Always use column properties( 1 ),
);
cs = vc << Column Switcher( :Measurement, {:Measurement, :Standard} );
Wait(1);
Report(vc)[FrameBox(1)] << Frame Size(400,200);
Report(vc)[FrameBox(2)] << Frame Size(400,200);
Wait(1);
cs << Set Current("Standard");
在變異性報告中,在許多情況下,標題或標籤中都會使用列名稱。當名稱單獨使用時,自訂可能會正常運作。更常見的問題情況是名稱嵌入到另一個字串中,如此處的大綱標題所示:

不幸的是,JMP 17 及更早版本的唯一解決方案是使用 JSL 切換器回呼腳本來重新套用自訂。
回覆:列切換器重置圖表並刪除腳本對象您能否分享一個用於重新應用自訂的 JSL 切換器回調腳本的範例?我沒有那種經驗,也不熟悉這個解決方案。謝謝你的解釋
回覆:列切換器重置圖表並刪除腳本對象您好@ChiSquareShark9 - 以下是上面腳本的擴充版本,每次呼叫列切換器時都會重設幀大小。在 JMP 17 中,當訊框回到預設大小然後又變更回所需大小時,會出現短暫的閃爍。在 JMP 18 中,沒有閃爍,且不需要回呼處理程序。在這種情況下,在新平台發布期間會保留框架尺寸。
NamesDefaultToHere(1);
dt = Open( "$SAMPLE_DATA/Variability Data/2 Factors Crossed.jmp" );
vc = dt << Variability Chart(
Y( :Measurement ),
X( :Operator, :part# ),
Always use column properties( 1 ),
);
cs = vc << Column Switcher( :Measurement, {:Measurement, :Standard} );
Wait(1);
Report(vc)[FrameBox(1)] << Frame Size(400,200);
Report(vc)[FrameBox(2)] << Frame Size(400,200);
Wait(1);
pre = Function( {currentColumn, nextColumn, switcher},
size1 = Report(vc)[FrameBox(1)] << Get Size;
size2 = Report(vc)[FrameBox(2)] << Get Size;
);
post = Function( {previousColumn, currentColumn, switcher},
Report(vc)[FrameBox(1)] << Frame Size(size1[1], size1[2]);
Report(vc)[FrameBox(2)] << Frame Size(size2[1], size2[2]);
);
handler = cs << Make Column Switch Handler( pre, post );
回覆:列切換器重置圖表並刪除腳本對象謝謝!