塗り分け地図を描く     Last modified: Apr 13, 2004

塗り分け地図を描く map 関数を使いやすくする関数群

  1. タイプ 1
    都道府県の統計データ(一変数)を与え,5 段階の色で塗り分ける。5 段階には,ほぼ同数の都道府県が含まれるように自動的に区分する。色は 8 種類のセットの中から一種類を指定する。
  2. タイプ 2
    都道府県の統計データ(一変数)を与え,5 段階の色で塗り分ける。5 段階の区分点はユーザが指定する。色は 8 種類のセットの中から一種類を指定する。
  3. タイプ 3
    都道府県の統計データ(一変数)を与え,任意の段階数の色で塗り分ける。各段階の区分点はユーザが指定する。色もユーザが指定する。
  4. タイプ 4
    いくつかの(隣接する)都道府県を描き,指定する都道府県をユーザが指定した色で塗る。


タイプ 1   ページの先頭へ インストールは,以下の 1 行をコピーし,R コンソールにペーストする source("http://aoki2.si.gunma-u.ac.jp/R/src/color_map1.R", encoding="euc-jp") # データを,ほぼ同数のデータを含む 5 区分に区切り,塗り分け地図を描く color.map1 <- function( x, # 長さ 47 の,統計データのベクトル color.no=8) # 塗りつぶしに,何色系統を使うか(以下を参照) { color.set <- matrix(c( # 色の系統 color.no "gray100", "gray75", "gray50", "gray25", "gray0", # 灰色1 1 "#eeeeee", "#bbbbbb", "#999999", "#777777", "#555555", # 灰色2 2 "#ee0000", "#bb0000", "#990000", "#770000", "#550000", # 赤色系 3 "#00ee00", "#00bb00", "#009900", "#007700", "#005500", # 緑色系 4 "#0000ee", "#0000bb", "#000099", "#000077", "#000055", # 青色系 5 "#ee00ee", "#bb00bb", "#990099", "#770077", "#550055", # 紫色系 6 "#00eeee", "#00bbbb", "#009999", "#007777", "#005555", # 水色系 7 "#eeee00", "#bbbb00", "#999900", "#777700", "#555500" # 黄色系 8 ), byrow=TRUE, ncol=5) if (!(color.no %in% 1:8)) { stop("color.no は,1〜8 の整数でなければなりません") } div <- c(9, 19, 28, 38) xs <- sort(x) div2 <- (xs[div]+xs[div+1])/2 map(1:47, color=color.set[color.no, findInterval(x, div2)+1]) } color.map1(x, 4) のように使う。 x は 47 個の統計数値データを含むベクトル。 2 番目の引数は,色のセット番号を表す 1 〜 8 の数値。 1: モノクロA,2: モノクロB,3: 赤,4: 緑,5: 青,6: 紫,7: 水色,8: 黄色 (以下の図を参考に) カラー・セット
タイプ 2   ページの先頭へ インストールは,以下の 1 行をコピーし,R コンソールにペーストする source("http://aoki2.si.gunma-u.ac.jp/R/src/color_map2.R", encoding="euc-jp") # 統計データを 5 段階に区切って,塗り分け地図を描く color.map2 <- function( x, # 長さ 47 の,統計データのベクトル t, # データを 5 区分するための 4 つの値 color.no=8) # 塗りつぶしに,何色系統を使うか(以下を参照) { color.set <- matrix(c( # 色の系統 color.no "gray100", "gray75", "gray50", "gray25", "gray0", # 灰色1 1 "#eeeeee", "#bbbbbb", "#999999", "#777777", "#555555", # 灰色2 2 "#ee0000", "#bb0000", "#990000", "#770000", "#550000", # 赤色系 3 "#00ee00", "#00bb00", "#009900", "#007700", "#005500", # 緑色系 4 "#0000ee", "#0000bb", "#000099", "#000077", "#000055", # 青色系 5 "#ee00ee", "#bb00bb", "#990099", "#770077", "#550055", # 紫色系 6 "#00eeee", "#00bbbb", "#009999", "#007777", "#005555", # 水色系 7 "#eeee00", "#bbbb00", "#999900", "#777700", "#555500" # 黄色系 8 ), byrow=TRUE, ncol=5) if (length(t) != 4) { stop("t は,長さ4のベクトルでなければなりません") } if (!(color.no %in% 1:8)) { stop("color.no は,1〜8 の整数でなければなりません") } map(1:47, color=color.set[color.no, findInterval(x, t)+1]) } color.map2(x, t, 8) のように使う。 x は 47 個の統計数値データを含むベクトル。 2 番目の引数は,5 段階を区切る値,すなわち 4 個の数値を含むベクトル。 t <- c(90, 95, 100, 105) のように指定する。このとき,第 1 段階は 90 未満,第 2 段階は 90 以上 95 未満,...,第 5 段階は 110 以上となる。 3 番目の引数は,色のセット番号を表す 1 〜 8 の数値。 1: モノクロA,2: モノクロB,3: 赤,4: 緑,5: 青,6: 紫,7: 水色,8: 黄色 (上の図を参考に)
タイプ 3   ページの先頭へ インストールは,以下の 1 行をコピーし,R コンソールにペーストする source("http://aoki2.si.gunma-u.ac.jp/R/src/color_map3.R", encoding="euc-jp") # データにより塗り分け地図を描く color.map3 <- function( x, # 長さ 47 の統計データベクトル t, # データを区分する値 color.set) # 各区分を塗る色 { if (length(t)+1 != length(color.set)) { stop("t の長さは color.set の長さより 1 だけ小さくなければならない") } map(1:47, color=color.set[findInterval(x, t)+1]) } color.map3(x, t, color.set) のように使う。 x は 47 個の統計数値データを含むベクトル。 2 番目の引数は,各段階を区切る値,すなわち(段階数-1)個の数値を含むベクトル。 t <- c(85, 90, 95, 100, 105, 110) のように指定する。これにより,データは 7 段階に区分される。 このとき,第 1 段階は 85 未満,第 2 段階は 85 以上 90 未満,...,第 7 段階は 110 以上となる。 3 番目の引数は,色を表す文字列を含むベクトル。 color.set <- c("red", "blue", "yellow", "green", "cyan", "magenta", "black") のように設定する。色の設定は html の場合と同じように指定することもできる。 すなわち,"#ff000", "#87fe54" など。 カラフルな地図
タイプ 4   ページの先頭へ インストールは,以下の 1 行をコピーし,R コンソールにペーストする source("http://aoki2.si.gunma-u.ac.jp/R/src/color_map4.R", encoding="euc-jp") # いくつかの都道府県を選択して描画,選択的に色づけも color.map4 <- function( prefs, # 描画する都道府県番号のベクトル marks, # 色づけをする都道府県のベクトル(prefs の部分集合) color, # marks を塗る色 others = "white") # marks 以外の都道府県に塗る色 { map(prefs, color=ifelse(prefs %in% marks, color, others)) } color.map4(x, y, color1, others = color2) のように使う。 x は地図に含める都道府県の番号のリスト。 y は x の部分集合。 y で示される都道府県にはcolor1 の色を塗る。 y 以外の都道府県には指定されれば color2 の色を塗る(省略された場合は,白すなわち塗らないことを指示する)。 color.map4(c(7:15, 19, 20), c(10, 13), "turquoise", others = "aliceblue") により,以下の図が作成される。 群馬と東京 ページの先頭へ


・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI

Made with Macintosh