Questo è stato chiesto oggi almeno in chat. Di seguito sono riportate un paio di possibili opzioni su come gestirlo (l'ho anche pubblicato nella lista dei desideri come suggerimento Aggiungi l'opzione per estendere la legenda di Generatori di grafici a ciascuna pagina quando viene utilizzata la pagina )
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();