公開日: 09/19/2023

グラフで色を指定する

以下のコマンドは、色を制御します。

Fill Color()は塗りつぶし領域の色

Level Color()はカテゴリカルデータの色

Pen Color()は直線と点の色

Back Color()はテキストの背景色(Figure 12.19の、消去したテキストを囲むボックスと同様)

Background Color()はグラフの背景色

Font Color()はテキストの色

塗りつぶしを行った場合、Fill ColorがPen Colorを上書きします。一部の描画パッケージのように両方を同時に使うことはできません。同時に使うには、一方は塗りつぶし、もう一方は塗りつぶさない2つの図形を描きます。色は1つの数値引数、引用符で囲んだ色の名前、RGB値などで指定できます。JMPが提供している標準の色は、番号0~15(0と15は黒)または名前(Table 12.1)で指定することができます。

ヒント: 濃淡をつけたいときは、引用符で囲んだ色名の前にDark、Medium Dark、Medium Light、Lightといった言葉を追加します。

表12.1 JMPに用意されている標準の色

名前

0

Black(黒)

1

Gray(グレー)

2

White(白)

3

Red(赤)

4

Green(緑)

5

Blue(青)

6

Orange(オレンジ)

7

BlueGreen(青緑)

8

Purple(紫)

9

Yellow(黄色)

10

Cyan(シアン)

11

Magenta(マゼンタ)

12

YellowGreen(黄緑)

13

BlueCyan(ブルーシアン)

14

Fuchsia(赤紫)

次のスクリプトは、JMPカラーがすべて揃ったグラフを作成します。

Text Color( 0 );
New Window( "色",
	Graph Box(
		FrameSize( 640, 400 ),
		Y Scale( -1, 17 ),
		X Scale( -3, 12 ),
		k = 0;
		For( jj = 1, jj <= 12, jj += 2,
			l = 15;
			For( i = 0, i <= 15 & k < 85, i++,
				thiscolor = Color To RGB( k );
				Fill Color( k );
				thisfill = 1;
				If( thiscolor == {1, 1, 1},
					Pen Color( 0 );
					thisfill = 0;
				,
					Pen Color( k )
				);
				Rect( jj, l + .5, jj + .5, l, thisfill );
				Text( {jj - 1, l}, "色", k );
				k++;
				l--;
			);
		);
		jj = -2;
		color = {"黒", "グレー", "白", "赤", "緑", "青", "オレンジ", "青緑",
		"紫", "黄色", "シアン", "マゼンタ", "黄緑", "ブルーシアン", "赤紫", "黒"};
		For(
			i = 0;
			l = 15;, i <= 15 & l >= 0,
			i++;
			l--;,
			Text( {jj, l}, color[i + 1] )
		);
	) );
 

16以上の番号は、同じ色の並びを濃淡の違いで繰り返します。これをデモンストレーションするスクリプトは、色とマーカーにあります。0~84の範囲外にある値は無効です。

表12.2 番号と色のマッピング

結果

16~31

やや暗い

32~47

やや明るい

48~63

暗い

64~79

明るい

80~84

明るい、やや明るい、グレー、やや暗い、暗い

RGB値を使う場合は、赤、緑、青の順でそれぞれの含有率をリストして、各色を指定します。

Pen Color( {.38,.84,.67} ); // 緑がかった青

RGB Color()Color to RGB()は、JMPの色番号とRGB(赤、緑、青)値との間の変換を行います。次の例は、JMPカラー3(赤)のRGB値を取得します。

Color to RGB( 3 );

{0.941176470588235, 0.196078431372549, 0.274509803921569}

同様に、HLS Color()Color to HLS()は、JMPの色番号とHLS値(色調、明度、彩度)との間で変換を行います。

win = New Window( "カラーホイール",
	Graph(
		Frame Size( 200, 200 ),
		For( hue = 0, hue < 360, hue += 30,
			y = 50 - 40 * Cos( hue * 2 * Pi() / 360 );
			x = 50 + 40 * Sin( hue * 2 * Pi() / 360 );
			Fill Color( HLS Color( hue / 360, 0.5, 1 ) );
			Oval( x - 10, y - 10, x + 10, y + 10, 1 );
		)
	)
);

Heat Color()は、セルプロットやツリーマップなどで使用されている任意のカラーテーマにおける値に対し、該当するJMPの色番号を戻します。構文は次のとおりです。

Heat Color( n, <<"theme" )

themeメッセージはオプションで、デフォルト値は「青->グレー->赤」(Blue to Gray to Red)です。予め用意された既存のカラーテーマだけでなく、独自に作成した任意のカラーテーマも指定できます。次の例にあるように、匿名のカラーテーマを作成し、使用することもできます。

Heat Color( z, <<{"", {{1, 1, 0}, {0, 0, 1}} } );
Heat Color( z, <<{"", {blue, green, yellow} } )
より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).