公開日: 04/01/2021

グラフビルダー

次に、グラフビルダーのスクリプトの基本的な構造を示す例を紹介します。

Graph Builder(
Size( x, y ),
// 赤い三角ボタンのメニューから任意のコマンドを選択する。ここではSize(サイズ)を使用
Variables( role( column ), ...), // 必須
Elements( element name( element options, ...), // 必須
Data Filter( ... ),
// 表示のカスタマイズを行う。ここではData Filter(データフィルタ)を使用
);

次に、棒グラフを作成する単純なグラフビルダースクリプトの例を紹介します。

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Graph Builder(Variables(
	X( :年齢));
	Y( :Name("体重(ポンド)") ),
Elements( Bar( X, Y, Legend( 8 ) ) )
// Legend(凡例)は必須ではないが、表示された内部凡例IDは後でカスタマイズに使用できる
);

次に、棒グラフを作成する詳細なグラフビルダースクリプトを紹介します。

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Graph Builder(
Size( 373, 332 ),
Show Control Panel( 0 ),
Variables(
	X( :年齢));
	Y( :Name("体重(ポンド)") ),
	Y( Transform Column( "weight25",
			Formula( Col Quantile( :Name("体重(ポンド)"), 0.25, :年齢 ) )
			),
		Position( 1 )
/* デフォルトでは各Y変数が独自の軸を取るが、Position(1)
オプションが2つ目以降のYを最初のスロットに維持し、軸を統合する。*/
	),
	Y( Transform Column( "weight75", Formula( Col Quantile( :Name("体重(ポンド)"), 0.75, :年齢 ) ) ),
		Position( 1 )
	)
),
Elements(
	Bar( X, Y( 2 ), Y( 3 ), Legend( 10 ), Bar Style( "範囲" ) ),
/* この棒は、第2Y変数と第3Y変数だけを使用し、
値と値の間に範囲バーを描画する。 */
	Bar( X, Y( 1 ), Legend( 8 ),
		Bar Style( "フロート" ),		Summary Statistic( "中央値" )
// この棒は、最初のY変数を使用してその中央値をフロートスタイル(短い横線)で描画する
	),
	Points( X, Y( 1 ), Legend( 9 ) )
// 点は、生データをマーカーとして表示する。
),
SendToReport(
// 次のような表示カスタマイズを含む
	Dispatch( {}, "400", ScaleBox,
// 400は固定名
		{Legend Model( 10,
		Level Name( 0, "第1~3四分位点",
		Item ID( "Mean(weight25)..Mean(weight75)", 1 )
// 凡例10の名前と色を変更する(範囲バー)
	),
		Properties( 0, {Fill Color( 32 )},
		Item ID( "Mean(weight25)..Mean(weight75)", 1 )
// 凡例10の色を変更する(範囲バー)
	)
		), Legend Model( 9,
		Properties( 0, {Marker Size( 4 )}, Item ID( "体重(ポンド)",1 ) )
// 凡例9のマーカーサイズを変更する([点])
	)}
),
Dispatch( {}, "グラフのタイトル", TextEditBox,
	{Set Text( "体重(ポンド)と四分位点範囲" )}
// グラフのタイトルを変更する
),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "体重(ポンド)" )} ),
// Y軸のタイトルを変更する
Dispatch( {}, "400", LegendBox,
	{Legend Position( {10, [0], 8, [1], 9, [-1]} )}
// 凡例9に-1の位置を指定することで、その凡例項目を非表示にする
	)
)
);
より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).