First a couple notes:
- oc is a column reference the syntax oc( Connect Points(1) ) could not be interpretted by JMP.
- It seems the syntax shown in the Scripting Index for the Overlay Plot requires the column name, see example below. It will also accept :Name("Volume")(Connect Color (0) );
obj = Overlay Plot(
X( :Date ),
Y( :High, :Low, :Close, :Volume ),
Y Scale( Left, Left, Left, Right )
);
obj << Connect Points( 1 );
obj << :Volume( Connect Color( 0 ) );
obj << :Low( Connect Color( "Red" ) );
- The overlay plot has some nice features, however, JMP developers would probably recommend using Graph Builder. For the structure of your data table, Overlay might be easier to use, so I will use Overlay.
- The script below started with a subset of the Football data table, none of th ecolumns you added. Then computes teh Moving Average. The script creates an overlay plot and uses Eval(Parse(EvalInsert())) to construct the syntax shown in the Scripting Index with the quoted name and option to turn off points.
- The second part of the script demonstartes an alternate method. Turn on lines and points for all overlay columns. Then use Xpath() to create a list of references to the line segments and the marker segments. To turn off a line, set the line width to 0. To turn off points, set the transparency to 0. I find working with the segments uses simpler syntax. However, Xpath() while extremely useful, is probably consisdered more advanced. Hope that helps.
Names default to here(1);
dt = current data table();
colnme = "Speed";
oc = Column(dt, colnme);
nc = dt << New Column( colnme || " Moving Average",
Numeric,
Formula(Col Moving Average(oc[],1,4,16) )
);
ovp = Overlay Plot( Y(oc, nc));
ovp << Connect Thru Missing(1);
ncnme = nc << get name;
//The syntax is ovp << :col( opt1);
Eval( Parse(EvalInsert("ovp << :name(\!"^ncnme^\!")(Show Points(0))" ) ) ) ;
//alternate method
ovl = Overlay Plot( Y(oc, nc));
ovl << Connect Thru Missing(1);
lines = ovl << Xpath("//LineSeg");
points = ovl << Xpath("//MarkerSeg");
wait(2);
lines[1] << Line width(0); //turn off line 1
wait(2);
lines[1] << Line width(2); //turn on line 1
wait(2);
lines[1] << Line width(0); //turn off line 1
wait(2);
points[2] << Transparency(0); //turn off points 2