将列切换器链接到图表会从列表中删除条目你好,
当列切换器链接到图形时,JMP 似乎会检查图形中“已存在”的列,并将它们从列切换器的条目列表中删除。
大多数时候,这是一个很好的功能,因为它可以防止列切换器以及图形和列之间已有的链接发生冲突。
但有时这个功能会带来伤害。
在下面的示例中,绘图的 X 轴和 Y 轴的 2 个列切换器共享 3 列 - 但起始值会自动从“其他”列切换器中删除。:

仍然可能存在“重量”的冲突。 但是,如果尝试将两个列切换器设置为“重量”,则会自动检测并阻止这种情况。
所以 - 在这里 - 自动删除并没有想象中那么有用。
如何将缺失值恢复到列表中?
解决方法是从图表的无意义起始值开始(然后可以从列切换器列表中删除),然后通过 JSL 将起始值更改为更有意义的值。
有没有更简单的方法,例如 LinkPlatform 命令的参数来禁用自动删除?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
new window("test",
cs1=dt << Column Switcher(:sex, {:sex, :height, :weight});
cs2=dt << Column Switcher(:height, {:sex, :height, :weight});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :height ) ),
Elements( Points( X, Y, Legend( 1 ) ) )
)
);
cs1 << Link Platform(gb );
cs2 << Link Platform(gb );
高级统计建模自动化和脚本编写消费者和市场研究数据混合和清理数据探索和可视化大规模定制分享和交流结果回复:将列切换器链接到图形会从列表中删除条目如果代码中替换的字符串出现次数比最初预期的要多 - 它是否也适用于“内联”定义的公式?
例如,我可以使用列切换器将累积概率图(X 和 Y 轴)更改为另一个变量吗?
--> 嗯,不幸的是没有。只是 x 轴发生了变化,y 轴上使用的公式保持不变:(
Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables(
X( :height ),
Y(
Transform Column(
"Cumulative Probability[height]",
Formula( Col Rank( :height ) / (Col Number( :height ) + 1) )
)
)
),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) ),
Column Switcher( :height, {:height, :weight} )
)回复:将列切换器链接到图形会从列表中删除条目顺便一提:
必须小心使用足够复杂的虚拟列名称。 有了“x”和“y”,我很幸运。
下面的代码以警告结束:
Cannot find OutlineBox[ "Grweightph Builder" ] at {}似乎 ColumnSwitcher 的第一个触发器将“Graph Builder”大纲框代码中的“a”更改为“weight”
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << new column("a");
new window("test",
cs1=dt << Column Switcher(:a, { :weight, :sex});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :a ), Y( :height ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
SendToReport(
Dispatch( {}, "Graph Builder", OutlineBox, Set Title( "test" ) )
)
));
cs1 << Link Platform(gb );
cs1 << Set Current("weight");
cs1 << Set Current("sex");回复:将列切换器链接到图形会从列表中删除条目在 JMP 的早期版本中,列切换器将切换所选列的所有实例。 因此,如果您通过 x 拟合 y,并且为垂直轴选择了与“x”相同的列,那么对于所有随后选择的列,x 和 y 都将被替换。 在 JMP 的最新版本中,他们通过您提到的警报阻止了这种情况。 它背后的历史告诉我列切换器并不与轴或分组值绑定,而是尝试替换所有实例,而新版本的 JMP 只是防止冲突。
我收到与您上面发布的代码相同的警报。如果您需要执行此操作,请考虑使用两个列表框编写脚本。 当选择不同的列时,删除绘图,获取 x 和 y 列,然后重新绘制绘图。您可以使用这作为参考。
回复:将列切换器链接到图形会从列表中删除条目这是具有虚拟起始值的版本。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << new column("x");
dt << new column("y");
new window("test",
cs1=dt << Column Switcher(:x, {:height, :weight, :sex});
cs2=dt << Column Switcher(:y, {:height, :weight, :sex});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :x ), Y( :y ) ),
Elements( Points( X, Y, Legend( 1 ) ) )
)
);
cs1 << Link Platform(gb );
cs2 << Link Platform(gb );
cs1 << Set Current("weight");
cs2 << Set Current("height");回复:将列切换器链接到图形会从列表中删除条目嗨贾莫。
是的,你的例子绝对是众多案例之一:
这是一个很好的功能,因为它可以防止列切换器以及图形和列之间已有的链接发生冲突。
我完全同意。
毫无疑问,大多数时候自动删除功能会有所帮助。
大多数时候,但并非总是如此。
对于 N>=2 列切换器和列表中的 N>2 条目,用户可以在仪表板的有趣版本中无休止地循环列切换器。
并且通过“无法切换”通知来防止任何碰撞。
因此,一个参数可以很好地启用或禁用该功能。
回复:将列切换器链接到图形会从列表中删除条目我只是想知道如果您遇到以下情况您希望发生什么:
- X轴:身高,Y轴性别
- 试图同时拥有这两者的列切换器
- 您可以更改列切换器中的值。 应该更新哪些值以及如何更新?
简单的示例,其中高度将被删除,因为我们使用 :sex 将列切换器初始化为 X 轴,并且 :height 被删除,因为它已经在 Y 轴上。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
New Window("test",
gb = dt << Graph Builder(
Size(534, 460),
Show Control Panel(0),
Variables(X(:sex), Y(:height)),
Elements(Points(X, Y, Legend(1))),
)
);
gb << Column Switcher(:sex, {:sex, :height, :weight});
如果一个列切换器尝试同时更改图中的多个元素,其中一个元素将被删除,并且将使用删除的列名称打印到日志中:
分析中使用了一些选定的色谱柱。 以下各列已从选择列表中删除,以避免无意替换。
高度