我正在尝试在图表上绘制一些曲线。但是对于某些变量,该曲线是不同的。我想知道是否有人有一个好方法可以根据本地数据过滤器中选择的内容来更改 yfunction() 。例如,如果我将年龄从 12 岁更改为 13 岁,我想要一个余弦波而不是正弦波或类似的东西。
注意:这是 JMP live 的,所以我不认为过滤器更改处理程序在那里工作。我最初只是在每个变量上单独绘制一个变量绘图,但这在 JMP live 上也不起作用,我不知道为什么。
Names default to here( 1 );
dt = open("$SAMPLE_DATA\Big Class.jmp");
dt << Graph Builder(
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 43 ) ), Smoother( X, Y, Legend( 44 ) ) ),
Local Data Filter(
Add Filter(
columns( :age ),
Where( :age == 12 ),
Display( :age, N Items( 6 ) )
)
),
SendToReport(
Dispatch(
{},
"height",
ScaleBox,
{Min( 47.4910973084886 ), Max( 78.4293207137927 ), Inc( 5 ),
Minor Ticks( 1 )}
),
Dispatch(
{},
"weight",
ScaleBox,
{Min( 43.4685580652897 ), Max( 152.924994106993 ), Inc( 20 ),
Minor Ticks( 1 )}
),
Dispatch(
{},
"Graph Builder",
FrameBox,
{Add Graphics Script(
5,
Description( "" ),
Pen Color( "red" );
Pen Size( 3 );
Y Function(
49.5348183760347 + 101.831529865667 / 2 * (1
+Sine( (2 * Pi() * (x - 50)) / 16.6 )),
x
);
)}
)
)
);
如果你不关心日记,这个目标很容易。 您可以简单地在对 Y Function() 的调用中使用用户函数,并在 Graph Builder 启动之外定义它。 然后使用带有数据过滤器的状态处理程序来定义一个新函数并发送框架框 << Reshow。
如果您需要日记,那么您不想使用任何变量。 在这种情况下,我将添加一个仅使用文字值的图形脚本,然后根据过滤器删除并添加一个新脚本。
玩得开心!
不过,这对 JMP live 不起作用吗?从我所见,JMP live 真的不喜欢脚本。无论哪种方式,我都会尝试。
我很确定 JMP Live 不会在服务器上运行任意(可能是任何)用户脚本。
Quit();
或者
while( 1, 0 );
或者
x = j( 4e9, 1, 0);
或者
wait( 1e6 );
其中任何一个都可能出现在图形脚本中,从而破坏服务器行为。
JMP Live 的用例围绕着让您的观众通过您创建的 GUI 使用 JMP 的内置工具对数据进行切片和切块。
- 链接图表以跨图表选择行为
- 使用数据过滤器对数据进行子集化
- 向下钻取子集(也许...自从我查看 JMP Live 以来已经有很长时间了...实际上上市版本。)