グラフの配置方法を理解したい。
ユーザーが各行に 3 つのグラフを配置して 2 行に並べたい場合、以下のスクリプトを使用してそれを実現できます。
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 ) ) )
)
),
)
);
ただし、for ループを使用すると、次に示すように同じ効果を得ることができません。
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 ) ) )
)
)
)
)
);
for ループの出力でグラフが正しく表示されるようにするには、何を変更すればよいでしょうか?
Hリストボックスの代わりにLineup Box(N Col(3))を使用することをお勧めします。
編集:
簡単な例を挙げます
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
);