Another approach, requiring more JSL for custom Markers.
 Using an image for the marker. Use As Marker will show up in other graphs.
Using an image for the marker. Use As Marker will show up in other graphs.
There are two Roberts in Big Class; the Needle is the average. The points are shown for both.
dt = Open( "$sample_data/big class.jmp" );
dt << New Column( "height-mean", formula( height - Col Mean( height ) ) );
dt << Color by Column( :Age );
// build the floating round marker...
dt << New Column( "marker",
	expression,
	formula(
		box = (Graph Box(
			// make a small drawing space 100x100 pixels, scaled from -1 to 1. Black background becomes transparent below
			framesize( 100, 100 ), X Scale( -1, 1 ), Y Scale( -1, 1 ), <<backgroundcolor( RGB Color( 0, 0, 0 ) ), 
			// use the row's color. it is pretty dark when filled
			Fill Color( Color Of( Row State() ) );
			Circle( {0, 0}, .75, "FILL" );
			Text Color( RGB Color( 1, 1, 1 ) );//white
			Text Size( 40 );// adjust as needed
			Text( CenterJustified, {0, -.35/*adjust as needed for v-center*/}, Char( height ) );
			
		));
		// trim the frame edges and make a transparent background
		{r, g, b} = ((box[FrameBox( 1 )]) << getimage) << getpixels( "rgb" );
		r = r[4 :: (N Rows( r ) - 5), 4 :: (N Cols( r ) - 5)];//trim
		g = g[4 :: (N Rows( g ) - 5), 4 :: (N Cols( g ) - 5)];//trim
		b = b[4 :: (N Rows( b ) - 5), 4 :: (N Cols( b ) - 5)];//trim
		a = r + g + b != 0;
		Show( r, g, b, a );
		New Image( "rgba", {r, g, b, a} );
	
	),
	<<useformarker // use this column for markers
);
dt << Graph Builder(
	Size( 1200, 500 ),
	Show Control Panel( 0 ),
	Show Legend( 0 ),
	Variables( X( :name ), Y( :Name( "height-mean" ) ) ),
	Elements( Bar( X, Y, Legend( 5 ), Bar Style( "Needle" ) ), Points( X, Y, Legend( 7 ) ) ),
	SendToReport(
		Dispatch(
			{},
			"height-mean",
			ScaleBox,
			{Min( -15 ), Max( 11 ), Inc( 5 ), Minor Ticks( 1 ), Add Ref Line( 0, "Solid", "Gray", "", 1 )}
		),
		Dispatch( {}, "400", ScaleBox, {Legend Model( 5, Properties( 0, {Line Color( 82 )}, Item ID( "Mean", 1 ) ) )} ),
		Dispatch( {}, "graph title", TextEditBox, {Set Text( "difference from mean" )} ),
		Dispatch( {}, "X title", TextEditBox, {Set Text( "" )} )
	)
);
 
					
				
			
			
				
	Craige