我希望使用列切换器,但每列需要不同的本地数据过滤器。有没有办法为每列分配特定的本地数据过滤器?我已经附加了一个JMP文件,其中包含我想要的三个单独的图形及其相应的数据过滤器,并希望使用一个图形使用列swicher循环遍历每个图形。(用于温度,pH和浓度的柱切换器。)
@女士我注意到列变换正在将名义变量更改为连续变量,但我不确定为什么会导致问题。我还可以通过单击列切换器下方的红色箭头,手动“重置”列切换器,旁边显示“3列”。我可以编写此重置脚本吗?
我不能重现你描述的内容。脚本生成的报告有一个常规的列切换器,我可以手动或按下播放按钮多次循环三列。
我正在使用JMP 14.2 for Mac。
谢谢大家的快速回复! @txnelson @ron_horne @女士
@女士 :
您编写的脚本有效 - 它使用我想要的数据过滤器创建图形。但是,我只能在3个图表中循环1次(然后它们完全消失)。如何修改此脚本以确保它可以像常规列切换器一样连续切换/循环遍历所有三个图形?
一种方法是使用本地列变换来模拟所需的本地数据过滤器,即使用公式来有条件地排除数据。然后将列切换器应用于“已转换”列。
示例(JMP 14):
Data Table("jmp question 2.jmp") << Graph Builder(
Size(542, 442),
Show Control Panel(0),
Variables(
X(:Name("Time (hr)")),
Y(:Name("Impurity (pg)")),
Overlay(
Transform Column(
"pH at Temp=23°C",
Formula(If(:Name("Temperature (°C)") == 23, :pH))
)
)
),
Elements(Points(X, Y, Legend(15)), Line(X, Y, Legend(16))),
Column Switcher(
Transform Column(
"pH at Temp=23°C",
Formula(If(:Name("Temperature (°C)") == 23, :pH))
),
{Transform Column(
"pH at Temp=23°C",
Formula(If(:Name("Temperature (°C)") == 23, :pH))
), Transform Column(
"Conc at Temp=37°C",
Formula(
If(:Name("Temperature (°C)") == 37,
:Name("Concentration (U/mL)")
)
)
), Transform Column(
"Temp at pH=8 & Conc=90 U/ml",
Formula(
If(:pH == 8 & :Name("Concentration (U/mL)") == 90,
:Name("Temperature (°C)")
)
)
)}
),
SendToReport(
Dispatch(
{},
"Time (hr)",
ScaleBox,
{Min(-1), Max(35), Inc(5), Minor Ticks(0)}
),
Dispatch(
{},
"Impurity (pg)",
ScaleBox,
{Scale("Log"), Format("Scientific", 12), Min(5), Max(800000), Inc(1),
Minor Ticks(1)}
),
Dispatch({}, "Graph Builder", FrameBox, {Marker Size(6)})
)
);
你好 @kk ,
在某些情况下,使用子集复制数据表可能很有用。在这种情况下,您需要控制同一个表的子集相互更新的时间。
罗恩
这可以通过向平台图表或图形添加图形脚本来完成。 它可以根据图表更改触发,然后可以删除当前的本地数据过滤器,然后创建一个新的规范就可以了。
如果您详细说明每个变量,温度,pH值和浓度的每个本地数据过滤器的内容,您或许可以让某人为您提供更多详细信息。