前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不同的坐标轴转换绘制世界地图

不同的坐标轴转换绘制世界地图

原创
作者头像
爱学习的小明明
修改2020-10-09 16:27:19
1.4K0
修改2020-10-09 16:27:19
举报
文章被收录于专栏:R语言学习R语言学习

1需要构建一个excel表,存储了世界各国人口数

population.csv
population.csv

2数据和颜色数据准备

library(maps)

library(ggplot2)

library(RColorBrewer)

color1<-brewer.pal(9,"YlOrRd")[c(3,4,5,6,7,8,9)]

color2<-brewer.pal(9,"Greens")[c(4,6)]

color(<-crev(color2),color1)

p<-file.choose()

mydata<-read.csv(p,stringsAsFactors=FALSE) #这里读取的就是我们上面的population.csv

names(mydata)[1]<-c("Country" ,"Scale" ,"million","fan" ) #重新定义列明,并在原基础上新加了million和fan列

mydata$million<-mydata$Scale/1000000

mydata$fan<-cut(mydata$million,

breaks=c(min(mydata$million,na.rm=TRUE),

0,300,600,900,1200,1500,1800,2100,2400,

max(mydata$million,na.rm=TRUE)),

labels=c(" <=0","0~300","300~600","600~900","900~1200","1200~1500",

"1500~1800","1800~2100","2100~2400"," >=2400"),

order=TRUE)

world_map <- map_data("world") #读取R maps自带的包文件world,这样我们就可以直接绘制地图了

3绘制mercator坐标轴转换地图

-mercator--------------------------------------

ggplot()+

geom_map(data=mydata,aes(map_id=Country,fill=fan),map=world_map)+

geom_path(data=world_map,aes(x=long,y=lat,group=group),colour="black",size=.2)+

coord_map("mercator",xlim=c(-180,180), ylim=c(-90, 90))+

scale_y_continuous(breaks=(-3:3)*30) +

scale_x_continuous(breaks=(-6:6)*30) +

scale_fill_manual(name="million dollars",values=color,na.value="grey75")+

guides(fill=guide_legend(reverse=TRUE)) +

theme_minimal()+

theme(

text=element_text(size=15)#

)

mercator
mercator

4使用albers坐标系转换

ggplot()+

geom_map(data=mydata,aes(map_id=Country,fill=fan),map=world_map)+

geom_path(data=world_map,aes(x=long,y=lat,group=group),colour="black",size=.2)+

coord_map("albers", parameters = c(0, 0))+

scale_y_continuous(breaks=(-3:3)*30) +

scale_fill_manual(name="million($)",values=color,na.value="grey80")+

guides(fill=guide_legend(reverse=TRUE))+

theme_minimal()+

theme(axis.text.x=element_blank())

albers
albers

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1需要构建一个excel表,存储了世界各国人口数
  • 2数据和颜色数据准备
  • 3绘制mercator坐标轴转换地图
  • 4使用albers坐标系转换
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档