嘿,
我有一個相當大的數據表,類似於這種格式:

我們從中創建了一組圖形構建器,以可視化彼此相鄰的不同測定類型和測定,有點像這樣(右側的一個測定類型,其中測定作為頁面,批次作為覆蓋,然後另一個測定類型在正確但相同的設定):

我們希望在一個圖中選擇批次,然後在其他圖中突出顯示,但由於選擇發生在行上,因此它們當然不會突出顯示。
我想放入一個小腳本來強制兩個圖形生成器選擇選擇中存在的所有批次,但我無法使其工作。我無法找到正確的函數來設定圖形生成器來捕獲此類事件。
我有一個像這樣的小腳本將選擇與所選行關聯的所有行:
batches = AssociativeArray(:Batch[dt << get selected rows])<< Get Keys;
dt << Select Where( Contains( batches, :Batch ) );
我是否可以針對圖形生成器設定一個函數,該函數將針對選擇更改觸發此腳本?
或者有更好的方法來實現我們在這裡尋找的目標嗎?
(當我們想要更改某些批次的顏色並使其反映在所有圖表中時,我們也會遇到麻煩,因為我們將批次ID作為疊加層。我想如果我能找到正確的觸發器) 。
我一直在查看腳本索引以查找要設定的各種函數,但它們似乎對圖形生成器沒有影響,但它們也不會失敗。
我使用的是 MacOS 版 JMP 17.1 (14.3.1)。
先謝,
丹尼爾
除了使用按鈕之外,實際上沒有任何簡單的選擇可以做到這一點。您也許可以使用重複的表格和行狀態處理程序,但我建議這樣做,因為行狀態處理程序在 JMP 中存在許多錯誤
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
dt2 = dt << Subset(All Rows, Selected Columns(0), private);
f = Function({a},
selages = dt[a, "age"];
rowstoselect = dt2 << Get Rows Where(Contains(selages, :age));
rowstates = J(1, N Rows(dt2), 0);
rowstates[rowstoselect] = 1;
dt2 << Set Row States(rowstates);
);
rs = dt << make row state handler(f);
nw = New Window("",
H List Box(
gb = dt << Graph Builder(
Size(525, 490),
Show Control Panel(0),
Variables(X(:age), Y(:height), Group X(:sex)),
Elements(Bar(X, Y, Legend(12)))
),
gb2 = dt2 << Graph Builder(
Size(525, 448),
Show Control Panel(0),
Variables(X(:age), Y(:height)),
Elements(Bar(X, Y, Legend(4))),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Fill Selection Mode("Selected Outlined")}
)
)
)
)
);
我將創建關於此類情況的願望清單項目,但在此之前,這裡是願望清單項目,希望 JMP 能夠改進我們擁有的不同處理程序
改進 JMP 的狀態處理程序(懸停標籤、行狀態處理程序、篩選狀態處理程序、調度程序等)
感謝賈莫的回覆!
我會看一下它,如果它起作用,我將恢復製作一個按鈕。
它不漂亮,但我想它至少會起作用:)
再次感謝,
丹尼爾