这是我目前用过的无问题的code:
library(mapdata)
library(fields)
dat <- read.csv('f:/tmp/distributation.csv', header=TRUE)
dat$Name <- tolower(dat$Name)
mn <- min(dat$Bed_density)
mx <- max(dat$Bed_density)
nc <- round(max(dat$Bed_density) - min(dat$Bed_density))*10
jet.colors <- colorRampPalette( c("aquamarine3", "pink") )
color <- jet.colors(nc)
indCol <- seq(mn, mx, length.out=nc)
dat$col <- apply(dat[,3, drop=FALSE], 1, function(x) color[which.min(abs(x - indCol))])
mapj <- map('japan')
denscol <- dat$col[match(tolower(gsub(':','',mapj$names)), dat$Name)]
jpeg('f:/tmp/tmp.jpeg')
map('japan', fill=TRUE, col=denscol)
image.plot(legend.only=T, zlim=c(mn, mx), col=color, legend.shrink=.2)
dev.off()
但是现在你面临两个问题:
一是你的R要调用目前这两个包版本不够高
二是读数据后tolower那一句理论上不会出错, 但是你那里出错了
你希望能怎么给你解决这个问题?


雷达卡







[sweat]

京公网安备 11010802022788号







