圖形建構器中的動態 Y 變數可由使用者選擇你好,
我正在嘗試根據用戶複選框的選擇,動態控制圖表構建器中的多個 Y 軸。
硬編碼的 Y 變數運作正常,但任何動態構造都會失敗(Y 未解析、被忽略或為空圖)。
我嘗試過:
對我都沒用。
-
Y變數的動態數量(1-4)
-
每個 Y 都有獨立的界限/參考線
-
無法堆疊數據
-
必須使用圖表建構器
// Does NOT work
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Simulate user selection
Chosen_Ys_list = {"height", "weight"};
// Attempt to build Y list dynamically
Y_List = {};
For( i = 1, i <= N Items( Chosen_Ys_list ), i++,
Insert Into( Y_List, Expr( Y( Eval( Chosen_Ys_list[i] ) ) ) );
);
dt << Graph Builder(
Variables(
X( :age ),
Eval( Y_List ) // <- ignored or errors
)
);
// 2nd try
gb = dt << Graph Builder(
Variables( X( :age ) )
);
gb << Add Variable( Y( :height ) ); // Name Unresolved: Y
自動化和腳本編寫數據探索與視覺化回覆:關於使用者選擇的圖表建構器中的動態 Y 變量對於「<< 新增變數」功能,您可以在腳本索引中找到正確的語法。

不確定最終的圖表應該是什麼樣子,所以這裡只舉一個使用「新增變數」的簡單例子。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
cols = {"height", "weight"};
gb = dt << Graph Builder(Variables(X(:age)));
For Each({colname}, cols,
Eval(EvalExpr(
gb << Add Variable({Expr(Name Expr(AsColumn(dt, colname))), Role("Y")})
));
);

回覆:關於使用者選擇的圖表建構器中的動態 Y 變量您的 Y_List 有問題:

除此之外,你還會遇到「列表」方面的問題。
除了使用新增變數()之外,您還可以從變數表達式開始,加入更多變量,然後在 Graph Builder 命令中使用它。
無論採用何種方法, 評估 、 評估實驗 、 Expr和名稱表達式在程式碼中的正確位置都至關重要。
詳細資訊請參閱文件。
…以及一些社區帖子
https://www.google.com/search?q=expression+handling++site%3Acommunity.jmp.com
Variables_Expr = Expr(Variables (X(:age)));
For( i = 1, i <= N Items( Chosen_Ys_list ), i++,
Insert Into( Variables_Expr, Eval Expr( Y( Expr(Name Expr(As Column( Chosen_Ys_list[i] ) ) ) );
)));
Eval (Eval Expr(dt << Graph Builder(
Expr(Name Expr(( Variables_Expr ) ))
)));