Folks,
I just upgraded from JMP14 Pro to JMP15 Pro and am running into problems with many of my JSL scripts that use OverlayPlots. I'm trying to covert some of my more complex OP's over to GB and am running into a hiccup when using variable lists in GB. With OP's the following code successfully plotted all variables for a given data file that met the Y( Eval List ( ???? ) ) criteria. I created this code to accomodate the fact that various field sites may have different number of sensors present that I want plotted.
// Potential Tair Data
pot_tair_list = {"Datalogger Internal Temperature (C)", "Air Temperature - HMP - 5m (C)", "Air Temperature - HMP (C)",
"Air Temperature, STD - HMP (C)", "Air Temperature - WXT (C)", "Air Temperature @ 5m - HMP (C)", "Air Temperature - MA4100 (C)",
"Air Temperature - EE181 (C)", "Air Temperature - WS700 (C)", "Air Temperature - GMX541 (C)"};
// Create empty list to hold names of the those measurement variables found in data table
act_tair_list = {};
// Run through data table column names and put those that match measurement variable list into new list
For( i = 1, i <= N Items( pot_tair_list ), i++,
If( Contains( dt_col_name_list, pot_tair_list[i] ),
Insert Into( act_tair_list, pot_tair_list[i] )
)
);
******************************
// Plot Air Temperature data
If( N Items( act_tair_list ) > 0,
Graph Builder(
Size( 1600, 500 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Legend Position( "Right" ),
Fit to Window( "Off" ),
Graph Spacing( 3 ),
Variables( X( :Name( "Date & Time" ) ), Y( Eval List( act_tair_list ) ) ),
Elements( Line( X, Y, Legend( 4 ) ), Points( X, Y, Legend( 1 ) ) ),
SendToReport(
Dispatch(
{},
"Date & Time",
ScaleBox,
{Format( "m/d/y", 10 ), Min( sdate ), Max( edate ), Interval( "Day" ), Inc( 28 ), Minor Ticks( 0 )}
),
Dispatch(
{},
Y( Eval List( act_tair_list ) ),
ScaleBox,
{Format( "Fixed Dec", 10, 0 ), Inc ( 5 ), Show Major Grid( 1 ), Minor Ticks( 0 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model( 1, Properties( 0, {Line Color( 3 ), Fill Color( 0 )}, Item ID( "Battery (V)", 1 ) ) )}
),
Dispatch( {}, "Graph Builder", FrameBox, {Marker Size( 1 )} )
)
)
);
GB doesn't like the same list construction I've used with OPs and throws the following error:
Specified Column not found in data table.{191471} in access or evaluation of 'Y' , Y( Eval List( act_tair_list ) ) /*###*/Exception in platform launch{191471} in access or evaluation of 'Graph Builder'
I've completed most of my JSL graphing using the OP platform and lack the knowledge for how to resolve this issue.
Is it possible to pass a variable list to GB for the Y Axis, and if so, what does that format look like? I would appreciate any help in resolving this so that I can continue using a single graphing script for all variables at all field sites, regardless of the actual specific sensors present. Thanks.