R2-20 第九次作业 地图

科研狗聪 2017-12-28 00:26:33 阅读: 1153
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

Figure_9_1.pngFigure_9_2.png



 
邀请讨论

附件

{{f.title}} 大小 {{f.file_size}} 下载 {{f.count_download}} 金币 {{f.count_gold}}
{{item.nick_name}} 受邀请回答 {{item.create_time}}
{{item.refer_comment.nick_name}} {{item.refer_comment.create_time}}

附件

{{f.title}} 大小 {{f.file_size}} 下载 {{f.count_download}} 金币 {{f.count_gold}}
切换到完整回复 发送回复
赞({{item.count_zan}}) 踩({{item.count_cai}}) 删除 回复 关闭
科研狗©2015-2025 科研好助手,京ICP备20005780号-1 建议意见

服务热线

178 0020 3020

微信服务号