The "Minitab version" can be created with the below code.
Instead of using the raw values, one could also use the Predicted values (-> column switcher).
To get the functionality of the Jmp Interaction Profiles, one would need a functionality to specify fixed values (from prediction profiler) for the third (or in general: additional) dimension(s).
dt = Open( "$SAMPLE_DATA/Design Experiment/2x3x4 Factorial.jmp" );
myFit= dt <<
Fit Model(
Y( :Y ),
Effects( :X1, :X2, :X3, :X1 * :X2, :X1 * :X3, :X2 * :X3 ),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Screening" ),
Run(
Profiler(
1,
Confidence Intervals( 1 ),
Desirability Functions( 1 ),
Term Value(
X1( 0, Lock( 0 ), Show( 1 ) ),
X2( "x", Lock( 0 ), Show( 1 ) ),
X3( "A", Lock( 0 ), Show( 1 ) )
)
),
:Y )
);
myFit << Predicted Values;
dtLabels= New Table( "labels",
Add Rows( 3 ),
New Column( "variable", Character,Nominal,
Set Values( {"X1", "X2", "X3"} )
)
);
myDT = dt << Join(
With( dtLabels ),
Cartesian Join,
);
myDT << New Column( "Legend",
Character,
Nominal,
set each value( Char(As Column( :variable[] )[]) )
);
myDT << Graph Builder(
Show Control Panel( 0 ),
Variables(
X( :X1 ),
X( :X2 ),
X( :X3 ),
Y( :Y ),
Group Y( :variable ),
Overlay( :Legend )
),
Elements(
Position( 1, 1 ),
Points( X, Y, Legend( 1 ) ),
Smoother( X, Y, Legend( 6 ) )
),
Elements(
Position( 2, 1 ),
Points( X, Y, Legend( 2 ) ),
Smoother( X, Y, Legend( 3 ) )
),
Elements(
Position( 3, 1 ),
Points( X, Y, Legend( 4 ) ),
Smoother( X, Y, Legend( 5 ) )
),
Column Switcher( :Y, {:Y, :Predicted Y}, Title( "choose column" ) )
);