今天至少在聊天中问过这个问题。 以下是有关如何处理此问题的几个可能选项(我也将此作为建议发布到愿望清单添加选项以在使用 Page 时将 Graph Builders 图例扩展到每个页面)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Probe.jmp");
// Use XPatH() and Picture Box with legend
gb = dt << Graph Builder(
Show Control Panel(0),
Size(500, 9760),
Variables(X(:DELW_NEMIT), Y(:DELL_RPNBR), Page(:Wafer Number), Color(:Process)),
Elements(Points(X, Y, Legend(5)))
);
lg = (gb << XPath("//LegendBox"))[1];
lg_pic = lg << get picture;
fbs = (gb << XPath("//FrameBox")) << parent;
Remove From(fbs, 1); // first one already has "real" legend
//margins will need to be adjusted depending on GB size
fbs << append(Picture Box(lg_pic, << Margin(Left((gb << get size)[1]-130), Top(-15), Right(0), Bottom(0))));
// Loop over groups one by one while using Where()
nw = New Window("GBs",
lub = Lineup Box(N Col(1));
);
Summarize(dt, pages = by(:Wafer Number));
For Each({page}, pages,
gb_page_expr = Expr(
Eval(EvalExpr(gb = dt << Graph Builder(
Show Control Panel(0),
Size(500, 500),
Variables(X(:DELW_NEMIT), Y(:DELL_RPNBR), Color(:Process), Group X(:Wafer Number)),
Elements(Points(X, Y, Legend(5))),
Where(:Wafer Number == Expr(page))
)));
);
lub << Append(gb_page_expr);
// gb << Title("");
);
((lub << Top Parent) << XPath("//TextBox[contains(text(), 'Where(:')]")) << Visibility("Collapse");
// most likely best idea, use By()
gbs = Graph Builder(
Size(534, 456),
Show Control Panel(0),
Variables(X(:DELW_NEMIT), Y(:DELL_RPNBR), Color(:Process)),
Elements(Points(X, Y, Legend(1))),
By(:Wafer Number)
);
Write();