嘿,
我有一个相当大的数据表,类似于这种格式:

我们从中创建了一组图形构建器,以可视化彼此相邻的不同测定类型和测定,有点像这样(右侧的一个测定类型,其中测定作为页面,批次作为覆盖,然后另一个测定类型在正确但相同的设置):

我们希望在一个图中选择批次,然后在其他图中突出显示,但由于选择发生在行上,因此它们当然不会突出显示。
我想放入一个小脚本来强制两个图形生成器选择选择中存在的所有批次,但我无法使其工作。我无法找到正确的函数来设置图形生成器来捕获此类事件。
我有一个像这样的小脚本将选择与所选行关联的所有行:
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 的状态处理程序(悬停标签、行状态处理程序、筛选状态处理程序、调度程序等)
感谢贾莫的回复!
我会看一下它,如果它起作用,我将恢复制作一个按钮。
它不漂亮,但我想它至少会起作用:)
再次感谢,
丹尼尔