服务热线
178 0020 3020
setwd("F:\\Doctor\\R语言学习\\互助小组\\第9期作业") #设置主题 mytheme_map <- theme(panel.grid = element_blank(), panel.background = element_blank(), axis.text = element_blank(), axis.ticks = element_blank(), axis.title = element_blank()) #安装并加载包 install.packages("rgdal") library(maptools) library(rgdal) library(plyr) library(ggplot2) #读取地图数据并根据省份形成数据框 china_map<-readShapePoly("bou2_4p.shp") china_map = readOGR(dsn = "bou2_4p.shp",stringsAsFactors=FALSE)#读取中国地图空间数据 x <- china_map@data #读取行政信息 xs <- data.frame(x,id=seq(0:924)-1) #含岛屿共925个形状 china_map1 <- fortify(china_map) #转化为数据框 china_map_data <- join(china_map1, xs, type = "full") #绘制Figure 9.1 sichuan_map_data <- subset(china_map_data,NAME=="四川省") sichuan_city <- read.csv("sichuan_city.csv") #数据来源于作业给的经纬度网址 chengdu <- subset(sichuan_city,city=="成都") suining <- subset(sichuan_city,city=="遂宁") midpos <- function(x) mean(range(x,na.rm=TRUE)) #取形状内的平均坐标 centres <- ddply(sichuan_map_data,.(NAME),colwise(midpos,.(long,lat)))#中心位置经纬度 ggplot(sichuan_map_data,aes(x=long,y=lat)) + geom_polygon(fill="white",colour="black") + coord_map("polyconic")+ #指定投影方式为polyconic,获得常见视角中国地图 geom_polygon(fill="firebrick3")+ geom_point(aes(x = jd,y = wd), data =chengdu,size=4,color="gold")+ geom_text(aes(x = jd,y = wd+0.3,label = city), data =chengdu,size=5)+ geom_point(aes(x = jd,y = wd), data =suining,size=2,color="sandybrown")+ geom_text(aes(x = jd,y = wd+0.2,label = city), data =suining,size=3)+ geom_text(aes(label=NAME),data=centres,size=8,color="white") + ggtitle("R2-20-四川-遂宁")+ mytheme_map #绘制Figure 9.2 mydata <- read.csv("R2-9.csv") mydata <- as.data.frame(mydata) china_data <- join( mydata, china_map_data,type="full") ggplot(china_data, aes(x = long, y = lat, group = group, fill = pop)) + geom_polygon(colour="green") + scale_fill_gradient(low="white",high="red") + coord_map("polyconic") + ggtitle("R2-20")+ mytheme_map
附件