overlaying data from multiple parameters (each with a unique scale) onto a mapHello,
I have routinely used JMP to overlay data on maps, a feature that I love. Normally, I standardize my data to where they are all on the same scale, stack the columns I want to plot, and overlay the stacked data in Graph Builder (as contour plots; see attached image for an example). However, I now want to overlay data from multiple parameters WITHOUT first standardizing them (so that they maintain their original scales). I realize I could make individual plots, copy them, and paste them into Adobe Illustrator, but I would prefer to use Graph Builder and wrap by parameter name ("label") if at all possible. Is there a way I can stack columns that are NOT on the same scale and then build a map-based graph in which they feature different y axes? I have posted a datasheet in which I would like to plot temperature, salinity, and ALCC onto a map. Thanks!

Re: overlaying data from multiple parameters (each with a unique scale) onto a mapFramesize and spacing can be changed with Jim's solution as well. I like using LineUpBox because after the window is drawn I can send the message to change ncol() or to change the spacing:
lub << ncol( 3 );
lub<< spacing( 20,6);
Re: overlaying data from multiple parameters (each with a unique scale) onto a mapBest way to find that out is to look up LineUp Box() in the Scripting Index
Help==>Scripting Index
Re: overlaying data from multiple parameters (each with a unique scale) onto a mapBTW (to other interested individuals), it appears that there are even other ways: https://community.jmp.com/t5/Discussions/Graph-Builder-Wrap-With-different-Y-Axis-Scales/td-p/50307
Re: overlaying data from multiple parameters (each with a unique scale) onto a mapThank you for your response. Is the major difference in your script that the frame size and spacing can be modified? What is a lineupbox?
Re: overlaying data from multiple parameters (each with a unique scale) onto a mapThis is just a simple add-on/alternative to Jim's detailed script: you might want to try using a LineUpBox.
nw = New Window( "xxx", V List Box( lub = LineUpBox(ncol(2)) ) );
lub << append( Report( gb1 )[List Box( 2 )] );
lub << append( Report( gb2 )[List Box( 2 )] );
lub << append( Report( gb3 )[List Box( 2 )] );
lub << append( Report( gb4 )[List Box( 2 )] );
_fb = lub << xpath("//FrameBox"); //get all frameboxes
_fb << FrameSize(175,175); //change the framebox size
lub << Spacing(20,10); //set horizontal and vertical spacing between Re: overlaying data from multiple parameters (each with a unique scale) onto a mapJim, I completely forgot that combining windows was an option and did not realize how easy it is to copy JSL scripts to a common script window, so I think this will work. Basically, I am trying to make publication quality figures without the need to use Illustrator to merge different graphs, plots, etc. I like your script because it just shows the figures, not with all the confusing boxes and containers found in Dashboard! Thanks!
Re: overlaying data from multiple parameters (each with a unique scale) onto a mapIs this the kind of thing you are looking for?

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
gb1 = Graph Builder(
invisible,
Size( 534, 454 ),
Show Control Panel( 0 ),
Variables( X( :PNP1 ), Y( :NPN1 ), Color( :NPN2 ) ),
Elements( Contour( X, Y, Legend( 5 ) ) )
);
gb2 = Graph Builder(
invisible,
Size( 534, 454 ),
Show Control Panel( 0 ),
Variables( X( :NPN2 ), Y( :PNP3 ), Color( :PNP4 ) ),
Elements( Contour( X, Y, Legend( 5 ) ) )
);
gb3 = Graph Builder(
invisible,
Size( 534, 454 ),
Show Control Panel( 0 ),
Variables( X( :PNP4 ), Y( :NPN4 ), Color( :INM2 ) ),
Elements( Contour( X, Y, Legend( 5 ) ) )
);
gb4 = Graph Builder(
invisible,
Size( 534, 454 ),
Show Control Panel( 0 ),
Variables( X( :PBA1 ), Y( :WPR1 ), Color( :PLY10 ) ),
Elements( Contour( X, Y, Legend( 5 ) ) )
);
nw = New Window( "xxx", V List Box( hlb1 = H List Box(), hlb2 = H List Box() ) );
hlb1 << append( Report( gb1 )[List Box( 2 )] );
hlb1 << append( Report( gb2 )[List Box( 2 )] );
hlb2 << append( Report( gb3 )[List Box( 2 )] );
hlb2 << append( Report( gb4 )[List Box( 2 )] );