I want to understand how to arrange graphs.
When a user wants to arrange them in two rows with three graphs in each row, I can achieve that using the script below:
New Window( "Test",
H List Box(
For( i = 1, i < 4, i++,
Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
)
),
),
H List Box(
For( i = 1, i < 4, i++,
Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
)
),
)
);
However, when I use a for loop, I am unable to achieve the same effect, as shown below:
New Window( "Test",
For( k = 1, k < 3, k++,
H List Box(
For( i = 1, i < 4, i++,
Graph Builder(
Size( 528, 450 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
)
)
)
)
);
What should I modify to make the output of the for loop display the graphs correctly?
I suggest you use Lineup Box(N Col(3)) instead of H List Boxes
Edit:
Here is simple example
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
lub = Lineup Box(N Col(3));
For(i = 1, i <= 10, i++,
lub << Append(
dt << Graph Builder(
Show Control Panel(0),
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
);
)
);
nw = New Window("report",
lub
);