spsurveyで日本地図を描くのだが、沖縄だけ遠いから絶妙に日本海側に描く方法をゴリ押しした。
library(spsurvey) jpn_GA <- read.shape("JPN_adm/JPN_adm1.shp") # 日本全体の設定 xl <- c(129, 146) yl <- c(30.8, 45) cols <- bluered(100) lmat <- matrix(1, 3, 3) diag(lmat) <- c(2, 1, 3) layout(lmat, widths=c(10,1,10), heights=c(10,1,10)) par(mar=c(0,0,0,0)) plot(jpn_GA, xlim=xl, ylim=yl, col=cols[cut(prop, length(cols))]) # 沖縄の緯度と経度 xokinawa <- c(127.5, 128.2) yokinawa <- c(26.0, 27) par(mar=rep(6, 4)) plot(jpn_GA, xlim=xokinawa, ylim=yokinawa, col=cols[cut(prop, length(cols))]) pa <- par()$usr segprop <- 0.8 segments(pa[1], pa[3], x1=pa[1]+diff(pa[1:2])*segprop) segments(pa[2], pa[4], y1=pa[4]-diff(pa[3:4])*segprop) segments(pa[1]+diff(pa[1:2])*segprop, pa[3], x1=pa[2], y1=pa[4]-diff(pa[3:4])*segprop) # カラースケールを描く par(mar=c(5, 4, 18, 2)) m0 <- matrix(seq(min(prop), max(prop), length=length(cols)), nc=1) image(c(m0), 1, m0, col=cols, yaxt="n", xlab="", ylab="")