回复:JSL:如何使用組合框和下一個/上一個按鈕編寫圖形更新腳本嗨,我正在尋找這方面的進一步幫助嗎?
我試圖只在我的 xlist 上顯示一定數量的列,而不是所有列,這些列以任何隨機順序放置
xlist = {“深紅色”,“氮氧化物”,“徑向”};
使用上面的腳本,它只繪製前 3 列,在本例中是“crim”、“zn”和“indus”,而不是我上面提到的那些。
有什麼解決方法嗎?
謝謝。
回复:JSL:如何使用組合框和下一個/上一個按鈕編寫圖形更新腳本更新:好的,所以我需要在我的腳本指南中多讀一些關於 Append、Prepend、Sib Append 和 Sib Prepend 的內容。 在閱讀了這篇文章之後,我需要確定我需要將更新的圖形添加到哪個容器框。 因此,當涉及到在窗口中放置其他容器框時,您可能需要使用 Sib Prepend() 命令。 現在我看到它是有道理的。
如果有人感興趣,附加的 JSL 可以滿足我的所有要求。
謝謝!,
DS
回复:JSL:如何使用組合框和下一個/上一個按鈕編寫圖形更新腳本你好@ian_jmp ,
我希望當我在新窗口中有更多元素時,您可以幫助我正確地運行此腳本。 我已經能夠將我的獨立工作的概念腳本轉移到一個更大的腳本中,該腳本對數據進行分區並顯示結果。 我將我的 JSL 代碼作為文件附加,這樣可能更容易。 它會打開 Boston Housing,您可以選擇數據表,然後選擇 X 因子和 Y 響應,並設置驗證部分和要嘗試的最大拆分數。
該代碼用於生成我想要的輸出(如下):

但是,當您循環參數時,它會將窗口的佈局重新排列為:

我想保持與第一個屏幕截圖相同的佈局,但是 Prepend 和 Append 選項沒有保持正確的佈局。 任何幫助深表感謝。
謝謝!,
DS
回复:JSL:如何使用組合框和下一個/上一個按鈕編寫圖形更新腳本你好@ian_jmp ,
這正是訣竅,謝謝! 我將在下面發布工作代碼並將其標記為解決方案,因為這段代碼完全符合我開始處理這部分時的預期。
謝謝!,
DS
使用 Prepend 而不是 Append 更新了代碼。
Names Default To Here( 1 );
dt = Open("$sample_data/Boston housing.jmp");
//dt = Data Table( "Boston Housing" );
xlist = dt << Get Column Names( String );
gb_default = Expr(
Graph builder( Show Control Panel( 0 ), Variables( X( Column( dt, 1 ) ), Y( Column( dt, 2 ) ) ), Elements( Points( X, Y, Legend( 3 ) ) ) )
);
gb_change = Expr(
Graph builder( Show Control Panel( 0 ), Variables( X( Column( dt, xcol ) ), Y( Column( dt, ycol ) ) ), Elements( Points( X, Y, Legend( 3 ) ) ) )
);
nw = New Window( "Interactive Graph",
gb = gb_default;
lbcontent = Lineup Box( N Col( 5 ),
Spacer Box( Size( 1, 0 ) ),
Text Box( "X", <<JUSTIFY text=""></JUSTIFY>回复:JSL:如何使用組合框和下一個/上一個按鈕編寫圖形更新腳本嘗試“前置”而不是“追加”。
回复:JSL:如何使用組合框和下一個/上一個按鈕編寫圖形更新腳本大家好,
所以,我能夠找到以前的討論線程這裡在哪裡@多發性硬化症幫助另一個用戶做類似的事情。 我能夠解決這個想法並對其進行修改以使其或多或少地按照我的意圖工作。下面是允許該功能的代碼,除了一個小的“缺陷”。
該代碼允許用戶選擇要繪製圖表的 X、Y 項,並在更改組合框或按下 Prev/Next 按鈕時更新圖表。 因此,在這方面,代碼按預期工作。
在進行更改以繪製不同內容後,圖形構建器內容框與包含組合框/按鈕框的選擇陣容框交換位置。 我想保留包含用於修改窗口底部圖形的選項的陣容框,但不確定該怎麼做。
非常感謝任何關於如何解決這個問題的建議! (最後的代碼)。
謝謝!,
DS
啟動窗口(帶有以下選項):

更改 X 或 Y 組合框或上一個/下一個按鈕後更新的窗口:

這是代碼:
Names Default To Here( 1 );
//dt = open("$sample_data\Boston Housing.jmp");//In case the file isn't already open.<BR />
dt = Data Table( "Boston Housing" );
xlist = dt << Get Column Names( String );
gb_default = Expr(
Graph builder( Show Control Panel( 0 ), Variables( X( Column( dt, 1 ) ), Y( Column( dt, 2 ) ) ), Elements( Points( X, Y, Legend( 3 ) ) ) )
);
gb_change = Expr(
Graph builder( Show Control Panel( 0 ), Variables( X( Column( dt, xcol ) ), Y( Column( dt, ycol ) ) ), Elements( Points( X, Y, Legend( 3 ) ) ) )
);
nw = New Window( "Interactive Graph",
gb = gb_default;
lbcontent = Lineup Box( N Col( 5 ),
Spacer Box( Size( 1, 0 ) ),
Text Box( "X", <<JUSTIFY text=""></JUSTIFY>回复:JSL:如何使用組合框和下一個/上一個按鈕編寫圖形更新腳本你好@DonMcCormack ,
是的,這肯定可以解決問題,但我希望在用戶單擊 Next/Prev 按鈕或從組合框中選擇一組不同的變量時自動更新圖形。 本質上,我正在嘗試重新創建 PCA 平台的功能,但將其推廣以合併到其他腳本中。
DS
回复:JSL:如何使用組合框和下一個/上一個按鈕編寫圖形更新腳本為什麼不使用列切換器?
JSL:如何使用組合框和下一個/上一個按鈕編寫圖形更新腳本大家好,
我正在處理一組更大的 JSL 代碼,並且有興趣向它添加一些功能,以便用戶可以循環瀏覽不同的視圖——就像在 PCA 平台中循環瀏覽不同組件時可以做的一樣,請參見屏幕下面拍攝。

我知道我需要幾個組合框和數據表中的相關列,但我不確定如何像 PCA 平台那樣讓圖表自動更新,或者如何正確調用下一步按鈕框。 我還想添加一個 Previous 按鈕框,以便用戶可以更輕鬆地返回視圖。
如果有人對如何實現這個有一些建議或想法,我將不勝感激。 我一直沒有成功搜索此功能,也沒有在我擁有的腳本索引或腳本指南中找到很多相關信息。
謝謝!,
DS
更新:我越來越接近並且有一個循環遍歷組合框中列表的代碼,所以這非常簡單(見下文)。 我仍然遇到問題的是讓圖表自動更新。 目的是當用戶單擊 Next 或 Prev 時,圖中的 y 變量會自動更改。 順便說一句,我正在使用 Boston Housing.jmp 文件對其進行測試。
Names Default To Here( 1 );
dt = Data Table( "Boston Housing" );
xlist = dt << Get Column Names( String );
nw = New Window( "interactive Graph builder", V List Box( vlb1 = V List Box(), vlb2 = V List Box() ) );
xcol = 1;
ycol = 2;
lbcontent = V List Box(
Lineup Box( N Col( 5 ),
Text Box( "Select Params", <<SET font="" size=""></SET>
自動化和腳本