在图形生成器上添加文本注释你好,
有没有办法编写图形脚本来为晶圆图上的每个标线添加文本注释?
此外,我想为“Ret”和“%Fail”两列添加颜色,并创建一个包含“%Fail”列和“Ret”列的热图。这在GB上可以实现吗?
爱
自动化和脚本数据探索与可视化回复:在图形生成器上添加文本注释在这种情况下,你会如何用两列进行着色?标线会定义主色,而失败率会定义渐变色或类似的东西?你有没有考虑过为这类分析创建形状图文件?
您可以使用图形脚本添加文本注释
Names Default To Here(1);
dt = Current Data Table();
gb = dt << Graph Builder(
Size(979, 588),
Variables(X(:X), Y(:Y), Overlay(:Ret)),
Elements(Points(X, Y, Legend(10)), Smoother(X, Y, Legend(11)))
);
Summarize(dt, rets = By(:Ret), mx = Mean(:X), my = Mean(Y));
// Lazy option without evaluation
Report(gb)[FrameBox(1)] << Add Graphics Script(
For(i = 1, i <= N Items(rets), i++,
Text Color("Black");
Text Size(12);
Pen Color("Black");
Pen Size(3);
Text(Boxed, Erased, Center Justified, {mx[i], my[i]}, rets[i]);
);
);

回复:在图形生成器上添加文本注释你好@jthi ,
我已经尝试过形状图,但是由于我有 100 万行,它会减慢 JMP 的速度。
我在想,是否有办法用图形脚本在标线周围画出边框,我可以在晶圆图上画出这些标线的边框,这样我就可以区分标线,然后我可以将 %Fail 添加到图例上的颜色选择中
谢谢,
回复:在图形生成器上添加文本注释你可以做这样的事情

或者使用热图

回复:在图形生成器上添加文本注释@jthi看起来很棒。能分享一下代码吗?
回复:在图形生成器上添加文本注释/*""" Reticle outline and names
Author: jthi
Creation Date: 2025-06-25
Creation JMP Version: JMP Pro 18.2.0
"""*/
Names Default To Here(1);
dt = Open("$DOWNLOADS/dataTable.jmp");
Summarize(dt, rets = By(:Ret));
aa = Associative Array();
For Each({curret}, rets,
r = dt << Get Rows Where(:Ret == curret);
tri = Triangulation(X(dt[r, "X"], dt[r, "Y"]));
path = tri << Get Hull Path;
aa[curret] = Associative Array();
aa[curret]["Path"] = path;
aa[curret]["X"] = Median(dt[r, "X"]);
aa[curret]["Y"] = Median(dt[r, "Y"]);
);
gb = dt << Graph Builder(
Size(937, 542),
Show Control Panel(0),
Variables(X(:X), Y(:Y), Color(:"%Fail"n)),
Elements(Points(X, Y, Legend(10)))
);
For Each({{retname, param}}, aa,
Eval(EvalExpr(
Report(gb)[FrameBox(1)] << Add Graphics Script(
Pen Color("Red"); // outline color for reticles
Pen Size(3); // reticle outline size
Path(Expr(param["Path"]), 0); // plots reticle outline
Text Color("Black"); // text color
Text Size(10); // text size for reticle
Pen Color("Black"); // text box outline color
Pen Size(2); // outline size for text box
Text(Boxed, Erased, Center Justified, {Expr(param["X"]), Expr(param["Y"])}, Expr(retname));
);
));
);
您可以将循环移动到图形脚本内,而不是创建循环脚本(我还没有测试哪个更好)。
编辑:添加最终解决方案的图像
