使用不同的參考線建立多個圖表你好,
我想使用完成以下任務JSL程式碼:
我有一個範例文件(隨附),包含 4 列:日期(數字)、y_val(數字)、限制(數字)、群組(字元)。
「group」欄位包含 3 個不同的值:A、B、C
每個組在「限制」列中都有一個唯一的值。 例如,所有 A 組行的「限制」欄位中的值為 67。
任務:
1. 我想建立 3 個圖表(每組一個),每個圖表位於不同的標籤中。
2. 選項卡名稱應根據群組進行命名。 所以A、B、C。
3. 每個圖表(Y x X)應在X 軸上具有“日期”,在Y 軸上具有“y_val”,並在y 軸上具有作為參考線的“限制”值(與特定組相匹配) 。
我附上了一個範例資料表,以及提供我想要的輸出的簡單 JSL 腳本。
然而,程式碼有 3 個缺點:
1. 我手動指定了參考線值,而不是從「限制」列中讀取它們。
2.我手動將選項卡命名為“A”、“B”、“C”,而不是從“組”列中讀取它們。
3.我手動建立了3個選項卡,而不是自動計算我需要多少個選項卡(根據「群組」列中不同值的數量)。
我希望解決方案能夠解決上述缺點,因為它應該適用於任意數量的組別(例如 AZ,這意味著 26 個組別和 26 個不同的參考線值)。
任何幫助,將不勝感激。
謝謝
自動化和腳本編寫資料混合與清理回覆:使用不同的參考線建立多個圖表太好了,現在可以了!
多謝!
回覆:使用不同的參考線建立多個圖表你是如何修改For Each的? 它應該改為類似的東西
For(idx = 1, idx <= N Items(groups), idx++,
group = groups[idx];
完整劇本
看更多... 回覆:使用不同的參考線建立多個圖表謝謝你的快速反應!
我有 JMP 14。
我複製了您的腳本並將“For Each”更改為“For”,但運行後出現一個空視窗(沒有錯誤訊息)。
也許還有其他需要改變的地方?
回覆:使用不同的參考線建立多個圖表下面是一個可能的範例腳本。 如果您沒有 JMP16+,則必須將 For Each 變更為 For 迴圈。
Names Default To Here(1);
dt = Open("$DOWNLOADS/example.jmp");
// get groups and limits
Summarize(dt, groups = By(:group), limits = Min(:limit));
nw = New Window("Trends", << journal,
tb = Tab Box()
);
For Each({group, idx}, groups,
biv_expr = EvalExpr(
temp_biv = dt << Bivariate(
Y( :y_val ),
X( :date ),
Automatic Recalc( 1 ),
Where(:group == Expr(group))
);
rbiv = temp_biv << report;
axisbox = rbiv[axis box(1)];
axisbox << Add Ref Line(
limits[idx], "Solid", "Black", "", 1
);
);
tb << Add(group, V List Box(biv_expr));
);
tb << Set Selected(1);