<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />图形生成器与数据过滤器成功配合,在移动数据过滤器滑块时正确调整绘制点。 此外,使用标题框的统计值会按预期使用数据过滤器滑块进行调整。 到目前为止,一切都很好。 然后我想使用“自定义”和“Y 函数”绘制列的平均值。 以下是提取的脚本:
添加图形脚本(
3、
描述(“脚本”),
Y 函数( Col Mean( :_columnexample_ ), x )
)
已成功绘制所需的平均线。 但是,绘制的线对数据过滤器滑块没有响应。
如何绘制与数据过滤器一起使用的列均值?
谢谢伊恩的回答。 我研究了你的脚本,发现它有效。 然而,就我而言,我需要保持数据过滤器全局,以便许多图表可以同时受到影响,但我还没有做到这一点。
基于吉姆的想法,这是一种方法(使用本地数据过滤器):
名称默认到这里( 1 ) ;
dt =打开( “$SAMPLE_DATA/大类.jmp” ) ;
// 图形生成器
国标= dt <<图形生成器(
显示控制面板( 0 ) ,
锁秤( 1 ) ,
变量( X ( :重量) ,是( :高度) ) ,
元素(积分( X ,是,传奇( 6 ) ) ,拟合线( X ,是,传奇( 8 ) ) ) ,
) ;
// 获取报告的引用
国标报告=国标<<报告;
// 添加本地数据过滤器
LDF =国标<<本地数据过滤器(添加过滤器(列( :性别) ) ) ;
// 行状态处理函数,在当前的平均值处向图形生成器添加一条水平线
// 在本地数据过滤器中选择
添加平均Y线=
功能({ X } , {默认本地} ,
// 获取当前选择对应的行
行= LDF <<获取过滤行;
// 获取所需的平均值
MV =意思是((柱子( dt , “高度” ) <<获取值)[行]) ;
// 将图形脚本添加到Graph Builder 显示框中。 。 。
g帧=国标报告<< X路径( “//框架框” ) ;
// 尝试删除可能已经存在的图形脚本
尝试(发送( g帧[ 1 ] ,删除图形脚本( 1 ))) ;
// 将添加所需图形脚本的表达式
阿格斯=表达式(发送( g帧[ 1 ] ,添加图形脚本(钢笔颜色( “红色的” ) ;水平线(待定)))) ;
//“烘焙”当前平均值
代入(阿格斯,表达式(待定) , MV ) ;
// 添加图形脚本
阿格斯;
) ;
// 将行状态处理程序分配给本地数据过滤器显示框
rsh =国标报告[大纲框( 1 )] << MakeRowStateHandler (添加平均Y线) ;
感谢您的回复。
这是数据过滤器的脚本,它不是本地的:
当前数据表() << 数据过滤器(
位置( {325, 212} ),
模式(显示(1),包括(1)),
添加过滤器(列(:Bandmeter),其中(:Bandmeter>=-100&:Bandmeter<=-50))
);?
我猜问题出在 Include(1) 语句上,也许应该是 Exclude 。 我的 30 天免费试用刚刚结束,所以我必须等待获得许可证才能进行测试。
包含过滤器的一些任意初始值只是因为我还没有弄清楚如何包含当前数据表的所有行。 目前这似乎是一个较小的问题,但我也认为这不是使用 Y 函数的数据过滤器遇到困难的原因。
该解决方案可能取决于您使用的是数据过滤器还是本地数据过滤器。如果您使用数据过滤器,则可以将行状态处理程序应用于数据表,这将重绘 Y 函数。如果它是本地数据过滤器,关键在于找到可以触发的过滤器在图表中发生的更改,以重绘 Y 函数。
如果您可以提供有关您正在使用的数据过滤器的更多详细信息,我也许可以提供更多解决方案