What I believe you will need to do, is to add a customized piece of JSL to your Graph Builder. Each of the individual graphs can be addressed, and a script can be written to add the appropriate N value into each. Below is a very simple example based upon a simpler graph, but it should give you an idea on how to do this
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
gb = dt << Graph Builder(
Size( 525, 496 ),
Show Control Panel( 0 ),
Variables(
X( :weight ),
Y( :height ),
Group X( :age ),
Overlay( :sex )
),
Elements( Line( X, Y, Legend( 8 ) ) )
);
// Get the counts for each of the ages
Summarize( dt, groupBy = By( :Age ), N = Count( :Age ) );
// Make sure stats are complete before moving on
wait(0);
// Find the upper right corner axis values so one can back off a bit and place
// the values of N in an appropriate place
// Place the values into a list, which is required for the graphic function
// that is to be used
theList = {};
theList[1] = (Report( gb )[AxisBox( 1 )] << get max) * .85;
theList[2] = (Report( gb )[AxisBox( 2 )] << get max) * .95;
// Now Place the values
For( i = 1, i <= N Items( n ), i++,
val = "N=" || Char( n[i] );show(val);
Report( gb )[FrameBox( i )] <<
add graphics script( Text( Center Justified, theList, val ) );
);
Jim