Hm, how bad that the cool features are evenly split between Page and By - and not grouped ...
For 1, I also used some dummy rows to span the grid (and more severe: Group X/Y grid of FrameBoxes) similarly in all By-Plots.
For2, it helps to define Value Colors for the Overlay Column. Then all By-Graphs will automatically share the same color coding - and vice versa, the audience can easily get from the legend that one cause was ZERO on the page.
If you want to have exactly the same legend, you could also add some dummy rows to fill the legends.
Due to the dummy row, age=17 (with just "M") gets the same legend as age=12:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << << Select Rows( [38] ) << Delete Rows;
dt << Add Rows( {age = 17, sex = "F"} ); // dummy entry to get the legends aligned
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
By( :age ),
Where (:age ==12| :age==17)
);