绘制地图(R-3.5)

 

      绘制地图是数据可视化的重要内容之一。常用的软件包括Tableau,R,Excel等。这里我们要求R语言进行地图的绘制和基本的地图功能分析,使学生能够通过完成实验内容对R语言有一定的了解,会运用软件对数据进行简单的图像处理。

实验内容

  1、应用maps绘制世界地图、美国地图、中国地图;

  2、使用百度地图API查找长春大学,练习使用百度拾取坐标系统;

  3、使用maptools和中国地图数据绘制中国地图;

  4、使用ggplot绘制中国行政详图;

1、

(1)

> library(maps)

(2)

> map("world",fill=TRUE,col=rainbow(200),ylim=c(-60,90),mar=c(0,0,0,0))

> title("世界地图")

(3)

> map("state",fill=TRUE,col=rainbow(209),mar=c(0,0,2,0))

> title("美国地图")

2、

(1)

> library(devtools)

> library(baidumap)

(2)

> getCoordinate('长春大学',formatted=T)

longtitude   latitude

 125.32799   43.84018

> getCoordinate(c('长春大学东校区','长春大学西校区'),formatted=T)

               longtitude latitude

长春大学东校区   125.3280 43.84018

长春大学西校区   125.3054 43.83761

(3)

(4)

> getCoordinate('长春',formatted=T)

> p=getBaiduMap(c(125.31364,43.89834))

> plot(p)

 

3、

(1)

> library(sp)

>  library("maptools")

> china_map=readShapePoly("F:/数据可视化/R语言实验12-16/地图包/bou2_4p.shp")

(2)

> plot(china_map)

(3)

>  library(ggplot2)

> mymap=ggplot(data=fortify(china_map))+geom_polygon(aes(x=long,y=lat,group=id),colour="black",fill=NA)+theme_grey()

> print(mymap+coord_map())

 

4、

(1)

> x=china_map@data

> head(x)

(2)

> xs=data.frame(x,id=seq(0:924)-1)

> china_mapl<-fortify(china_map)

> library(plyr)

> china_map_data=join(china_mapl,xs,type="full")

> head(china_map_data[china_map_data$NAME=="吉林省",])

> mymap=ggplot(china_map_data,aes(x=long,y=lat,group=group,fill=NAME))

> mymap+geom_polygon()+geom_path(colour="grey40")+

 scale_fill_manual(values=colours(),guide=FALSE)+

coord_map("polyconic")+

theme(panel.grid=element_blank(),panel.background=element_blank(),axis.text=element_blank(),axis.ticks=element_blank(),axic.title=element_blank(),legend.position=c(0.2,0.3))

(2)

> jilin<-subset(china_map_data,NAME=="吉林省")

> ggplot(jilin,aes(x=long,y=lat,group=group,fill=NAME))+

geom_polygon(fill="beige")+

 geom_path(colour="grey40")+

 ggtitle("中华人民共和国吉林省")+

 geom_point(x=125,y=44)+

 annotate("text",x=125,y=44,label="长春市")

5、

> pop<-

c(7355291,3963604,20813492,10654162,8470472,15334912,9162183,13192935,8893483,25635291,20060115,19322432,11971873,11847841,30794664,26404973,17253385,19029894,32222752,13467663,2451819,10272559,26383458,10745630,12695396,689521,11084516,7113833,1586635,1945064,6902850,23193638,7026400)

> NAME<-c("北京市","天津市","河北省","山西省","内蒙古自治区","辽宁省","吉林省","黑龙江省","上海市","江苏省","浙江省","安徽省","福建省","江西省","山东省","河南省","湖北省","湖南省","广东省","广西壮族自治区","海南省","重庆市","四川省","贵州省","云南省","西藏自治区","陕西省","甘肃省","青海省","宁夏回族自治区","新疆维吾尔自治区","台湾省","香港特别行政区")

> pop<-data.frame(NAME,pop)

> china_pop<-join(china_map_data,pop,type="full")

 

> mymap=ggplot(china_pop,aes(x=long,y=lat,group=group,fill=pop))

> mymap+geom_polygon()+geom_path(colour="grey40")+scale_fill_gradient(low='blue',high='red')

 

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值