公開日: 04/01/2021

線を描く

Line()は点の間に線を引きます。

win = New Window( "星",
	Graph Box(
		Frame Size( 300, 300 ),
		X Scale( -1.1, 1.1 ),
		Y Scale( -1.1, 1.1 ),
		Line(
			{Cos( 1 * Pi() / 10 ), Sin( 1 * Pi() / 10 )},
			{Cos( 9 * Pi() / 10 ), Sin( 9 * Pi() / 10 )},
			{Cos( 17 * Pi() / 10 ), Sin( 17 * Pi() / 10 )},
			{Cos( 5 * Pi() / 10 ), Sin( 5 * Pi() / 10 )},
			{Cos( 13 * Pi() / 10 ), Sin( 13 * Pi() / 10 )},
			{Cos( 1 * Pi() / 10 ), Sin( 1 * Pi() / 10 )}
		)
	)
);

図12.10 線を使って星を描く 

Image shown here

点は、上に示したような2項目のリストか、またはx座標とy座標の行列で指定できます。行列の値は、1行目から順番に使われていくので、要素の数が同じであれば、行ベクトルと列ベクトルのどちらでも使用できます。以下の式は、まったく同じ効果を持ちます。

Line( {1,2}, {3,0}, {2,4} ); // 複数の{x,y}リスト
Line( [1 3 2],[2 0 4] ); // 行のベクトル
Line( [1,3,2], [2,0,4] ); // 列のベクトル
Line( [1 3 2], [2,0,4] ); // 行ベクトルと列ベクトルの組み合わせ

したがって、星の例は、以下のような方法で描くこともできます。行列の値を式で入力しているので、簡略形の[ ]ではなく、正式なMatrix( {...} )表記を使う必要があります。次の例は、Matrix()関数を使用しています。

win = New Window( "星",
	Graph Box(
		Frame Size( 300, 300 ),
		X Scale( -1.1, 1.1 ),
		Y Scale( -1.1, 1.1 ),
		Line(
			Matrix(
				{ // x座標
				Cos( 1 * Pi() / 10 ), Cos( 9 * Pi() / 10 ), Cos( 17 * Pi() / 10 ),
				Cos( 5 * Pi() / 10 ), Cos( 13 * Pi() / 10 ), Cos( 1 * Pi() / 10 )}
			),
			Matrix(
				{ // y座標
				Sin( 1 * Pi() / 10 ), Sin( 9 * Pi() / 10 ), Sin( 17 * Pi() / 10 ),
				Sin( 5 * Pi() / 10 ), Sin( 13 * Pi() / 10 ), Sin( 1 * Pi() / 10 )}
			)
		) ) );

HLine()は、グラフ上の指定されたy値の位置に横線を引きます。同様に、VLine()は、グラフ上の指定されたx値の位置に縦線を引きます。どちらの関数でも、引数に行列を指定することによって、複数の線を描くことができます。Mousetrap()を参照してください。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).