有没有办法在多个地块上显示动态 X 参考线?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
我正在使用 Graph Builder 来显示:
- 通过某种制造工具处理零件时,一批次中的缺陷数量 TOP PLOT
- E10 设备状态改变了工具在同一时间段内经历的 CENTER PLOT
- 从测试基板上获取的过程监视器也在同一时期进行了处理。底图

“updated_date”是所有数据集之间唯一的共同因素,这些数据集是从 3 个不同的数据库中收集的
当我在任何图上单击并按住鼠标时,我希望有可能显示 X 参考线。 在鼠标释放时它应该消失。
参考线应同时显示在所有地块上。
下面是我需要的示例:

期待看到可以提供什么创造性的解决方案
- 菲利普
回复:有没有办法在多个地块上显示动态 X 参考线?感谢 Ian 和 Craig 提供的解决方案。
这很好用
如果你要迎接另一个挑战,......我想知道当参考线放在任何图表的任何点上时是否可以显示激活的标签。
回想一下,在我的应用程序中,永远不会出现点恰好出现在同一 x 轴位置的情况。
我的情况是,标签将是与测试、制造或过程监控相关的操作员书面评论。
这更像是“很高兴拥有”而不是必要的,但它会非常好
- 菲利普
回复:有没有办法在多个地块上显示动态 X 参考线?使用原始方法,您的代码必须在操作 1(及其循环排列)时更新 2 和 3。
但是使用 Craige 的 '<
名字默认到这里( 1个);
dt =打开( “$SAMPLE_DATA/Big Class.jmp” );
gb = dt <<图形生成器(
尺寸( 528 , 448 ),
显示控制面板( 0 ),
变量( X( 转换列( “排” , 公式(排() ) )), Y(:身高), Y(:体重), Y(:年龄)),
);
::exx = 1个;
gbfb3 =报告( gb )[框架框( 3个)];
gbfb3 <<添加图形脚本(
笔颜色( “红色的” );
笔号( 2个);
捕鼠器(
::exx = x;
国标 <<无效;
);
V线(::exx);
);
gbfb1 =报告( gb )[框架框( 1个)];
gbfb1 <<添加图形脚本(
笔颜色( “红色的” );
笔号( 2个);
捕鼠器(
::exx = x;
国标<<无效;
);
V线(::exx);
);
gbfb2 =报告( gb )[框架框( 2个)];
gbfb2 <<添加图形脚本(
笔颜色( “红色的” );
笔号( 2个);
捕鼠器(
::exx = x;
国标 <<无效;
);
V线(::exx);
);
回复:有没有办法在多个地块上显示动态 X 参考线?Graph Builder 生成的网格图中的每个单元格都是一个单独的“FrameBox()”,挑战是在只有一个更改时更新每个单元格。 上面的代码依赖于为每个 FrameBox() 重复删除和恢复图形脚本,这至少可以说是笨拙的。
克雷奇@jmp非常友好地指出了一个更好的方法:只需向 Graph Builder 对象本身发送一条“<< inval”消息,这会强制所有关联的 FrameBoxes 适当地重绘:
名字默认到这里( 1个);
dt =打开( “$SAMPLE_DATA/Big Class.jmp” );
gb = dt <<图形生成器(
尺寸( 528 , 448 ),
显示控制面板( 0 ),
变量( X( 转换列( “排” , 公式(排() ) )), Y(:身高), Y(:体重))
);
::exx = 1个;
gbfb1 =报告( gb )[框架框( 1个)];
gbfb1 <<添加图形脚本(
笔颜色( “红色的” );
笔号( 2个);
捕鼠器(
::exx = x;
国标<<无效; // 确保其他图形更新
);
V线(::exx);
);
gbfb2 =报告( gb )[框架框( 2个)];
gbfb2 <<添加图形脚本(
笔颜色( “红色的” );
笔号( 2个);
捕鼠器(
::exx = x;
国标 <<无效; // 确保其他图形更新
);
V线(::exx);
);
回复:有没有办法在多个地块上显示动态 X 参考线?嗨,伊恩,
感谢您的快速回复。
这正是我要找的,但我需要它在 3 个地块上工作
使用“$SAMPLE_DATA/Big Class.jmp 数据集,我为 :age 添加了一个图,但不幸的是,当我尝试将其设置为跨 3 个图工作时,我无法让它工作。 我可以随时让三分之二的人工作。
是否可以在脚本中添加一些注释来解释逻辑是什么? 对于给您带来的不便,我深表歉意。
在我的例子中,当点击中心图(:重量)时,参考线将被向上和向下绘制以覆盖所有图就足够了。
这是我所做的:
名字默认到这里( 1个) ;
dt =打开( “$SAMPLE_DATA/Big Class.jmp” ) ;
国标= dt <<图形生成器(
尺寸( 528 , 448 ) ,
显示控制面板( 0 ) ,
变量( X (转换列( “排” ,公式(排() ) ) ) ,是( :高度) ,是( :重量) ,是( :年龄) ) ,
) ;
:: exx = 1个;
GBFB3 =报告(国标)[框框( 3个)] ;
GS3 =表达式(
GBFB3 <<添加图形脚本(
笔色( “红色的” ) ;
笔号( 2个) ;
捕鼠器( :: exx = X ; GBFB1 <<移除图形脚本( 1个) ; GS1 ) ;
V线( :: exx ) ;
) ;
) ;
GBFB1 =报告(国标)[框框( 1个)] ;
GS1 =表达式(
GBFB1 <<添加图形脚本(
笔色( “红色的” ) ;
笔号( 2个) ;
捕鼠器( :: exx = X ; GBFB2 <<移除图形脚本( 1个) ; GS2 ) ;
V线( :: exx ) ;
) ;
) ;
GBFB2 =报告(国标)[框框( 2个)] ;
GS2 =表达式(
GBFB2 <<添加图形脚本(
笔色( “红色的” ) ;
笔号( 2个) ;
捕鼠器( :: exx = X ; GBFB3 <<移除图形脚本( 1个) ; GS3 ) ;
V线( :: exx ) ;
) ;
) ;
GS1 ;
GS2 ;
GS3 ;
结果图如下所示:

当我在“年龄”图内单击时,Ref 一切顺利。用鼠标在所有地块上移动的线。
但是,当我在“高度”图中单击时,会发生以下情况:
参考线穿过“身高”和“体重”但不穿过“年龄”

同样,当我在“重量”图中单击时,会发生以下情况:
参考线穿过“体重”和“年龄”但不穿过“身高”

你能看看吗?
谢谢,
菲利普
回复:有没有办法在多个地块上显示动态 X 参考线?您可能会根据您的具体情况调整这种方法:
名字默认到这里( 1个);
dt =打开( “$SAMPLE_DATA/Big Class.jmp” );
gb = dt <<图形生成器(
尺寸( 528 , 448 ),
显示控制面板( 0 ),
变量( X( 转换列( “排” , 公式(排() ) )), Y(:身高), Y(:体重))
);
::exx = 1个;
gbfb1 =报告(gb)[框架框( 1个)];
GS1 =表达式(
gbfb1 <<添加图形脚本(
笔色( “红色的” );
笔号( 2个);
捕鼠器(::exx = x; gbfb2 <<移除图形脚本( 1个); gs2);
V线(::exx);
);
);
gbfb2 =报告(gb)[框架框( 2个)];
gs2 =表达式(
gbfb2 <<添加图形脚本(
笔色( “红色的” );
笔号( 2个);
捕鼠器(::exx = x; gbfb1 <<移除图形脚本( 1个); gs1);
V线(::exx);
);
);
GS1;
gs2;