JMP allows one to add graphic primitives to any of the graphical outputs within the system. So to produce the below graph
![quad1.PNG quad1.PNG](https://community.jmp.com/t5/image/serverpage/image-id/29375i05998FA6A261D3CF/image-size/large?v=v2&px=999)
You just right click on the native graph and select "Customize". It brings up a window that allows you to add a script to the graph.
![quad2.PNG quad2.PNG](https://community.jmp.com/t5/image/serverpage/image-id/29376i45447501F1AFFAFE/image-size/large?v=v2&px=999)
You can then take the modified graph, and do a Save Graph which will look like:
Names Default To Here( 1 );
dt = open("$SAMPLE_DATA/big class.jmp");
Graph Builder(
Size( 528, 456 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 5 ) ) ),
SendToReport(
Dispatch(
{},
"weight",
ScaleBox,
{Add Ref Line( 110, "Solid", "Black", "", 1 )}
),
Dispatch(
{},
"height",
ScaleBox,
{Add Ref Line( 60, "Solid", "Black", "", 1 )}
),
Dispatch(
{},
"Graph Builder",
FrameBox,
{Add Graphics Script(
2,
Description( "" ),
Transparency( 0.5 );
Fill Color( {1, 1, .5} );
left = Current Report()[axisbox( 1 )] << getmin;
top = Current Report()[axisbox( 2 )] << getmax;
right = Current Report()[axisbox( 1 )] << getmax;
bottom = Current Report()[axisbox( 2 )] << getmin;
Fill Color( {1, 1, .5} );
Rect( left, top, 110, 60, fill = 1 );
Fill Color( "red" );
Rect( 110, top, right, 60, fill = 1 );
Fill Color( "green" );
Rect( left, 60, 110, bottom, fill = 1 );
Fill Color( "orange" );
Rect( 110, 60, right, bottom, fill = 1 );
), Grid Line Order( 1 ), Reference Line Order( 3 ),
DispatchSeg(
TopSeg( 1 ),
{Set Script(
Transparency( 0.5 );
Fill Color( {1, 1, .5} );
left = Current Report()[axisbox( 1 )] << getmin;
top = Current Report()[axisbox( 2 )] << getmax;
right = Current Report()[axisbox( 1 )] << getmax;
bottom = Current Report()[axisbox( 2 )] << getmin;
Fill Color( {1, 1, .5} );
Rect( left, top, 110, 60, fill = 1 );
Fill Color( "red" );
Rect( 110, top, right, 60, fill = 1 );
Fill Color( "green" );
Rect( left, 60, 110, bottom, fill = 1 );
Fill Color( "orange" );
Rect( 110, 60, right, bottom, fill = 1 );
)}
)}
)
)
);
However, there is a simpler form that most programmers find more convenient
Names Default To Here( 1 );
dt = open("$SAMPLE_DATA/big class.jmp");
gb = dt << Graph Builder(
Size( 528, 456 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
);
report(gb)[FrameBox(1)] << add graphics script(
Transparency( 0.5 );
Fill Color( {1, 1, .5} );
left = Current Report()[axisbox( 1 )] << getmin;
top = Current Report()[axisbox( 2 )] << getmax;
right = Current Report()[axisbox( 1 )] << getmax;
bottom = Current Report()[axisbox( 2 )] << getmin;
Fill Color( {1, 1, .5} );
Rect( left, top, 110, 60, fill = 1 );
Fill Color( "red" );
Rect( 110, top, right, 60, fill = 1 );
Fill Color( "green" );
Rect( left, 60, 110, bottom, fill = 1 );
Fill Color( "orange" );
Rect( 110, 60, right, bottom, fill = 1 );
);
Jim