#maptoolsデモ(Windows版spクラス対応) #群馬県市町村65歳以上高齢者比率(2006年)主題図(コロプレス図)描画 #pdf("C:/GISdata/maptoolsdemo.pdf",family="Japan1") library(maptools) #ESRI全日本市区町村ShapeFile読み込み #ShapeFileをSpatialPolygonsDataFrameに jpn <- readShapePoly("C:/GISdata/japan_ver61.shp") #群馬県の抽出 pref<-jpn$PREF=="群馬県" pref<-ifelse(is.na(pref), FALSE, pref) #十和田湖がNAなので gunma<-jpn[pref,] #DBFデータの取り出し gunmadata <- gunma@data #群馬県市町村65歳以上高齢者比率データ読み込み aged <- read.delim("C:/GISdata/agedprop.txt") #DBFデータに高齢者比率データをマージ(JCODEをキーにして) gunmadata <- merge(aged,gunmadata,sort=F,by="JCODE") #凡例用データ作成 DD <- gunmadata$AP2006 cutnum<-16 classes <- cut(DD,seq(min(DD),max(DD),length=cutnum+1),include.lowest=T) cols <- rev(heat.colors(cutnum)) cols2 <- heat.colors(cutnum) #地図描画 par(cex=0.9) plot(gunma,col=cols[classes],xlab="",ylab="",axes=F) #市町村名プロット invisible(text(getSpPPolygonsLabptSlots(gunma), labels=as.character(gunma$CITY1), cex=0.4)) #枠描画 box() #凡例 min.x<-gunma@bbox[1,1] max.x<-gunma@bbox[1,2] min.y<-gunma@bbox[2,1] max.y<-gunma@bbox[2,2] legend(max.x-1.0*(max.x-min.x),min.y+1.03*(max.y-min.y),legend=names(rev(table(classes))),cex=0.4,fill=cols2,text.col='black') #タイトル title("群馬県市町村65歳以上高齢者比率(2006年)","出典/参考:中澤港「Rによる保健医療データ解析演習」, http://phi.ypu.jp/msb/") #dev.off()