温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

R语言可视化实现地图与气泡图的绘制

发布时间:2021-07-23 09:06:28 来源:亿速云 阅读:314 作者:chen 栏目:大数据

这篇文章主要介绍“R语言可视化实现地图与气泡图的绘制”,在日常操作中,相信很多人在R语言可视化实现地图与气泡图的绘制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”R语言可视化实现地图与气泡图的绘制”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

今天跟大家分享如何在地图上进行散点图、气泡图绘制。

昨天跟大家介绍了ggplot函数进行地图绘制的原理,通过轮廓点和分组来定义每一个地区(国家边界),通过多边形填充来完成区域填色。

ggplot的图层叠加原理晕允许我们在坐标系统的叠加多个图层;

所以在地图上叠加散点、甚至气泡可以很容易的实现:

包的导入:

library(maptools)

library(ggplot2)

library(plyr)

导入地理信息数据:

china_map <- readShapePoly("c:/rstudy/bou2_4p.shp")            # 读取地图信息数据

china_map1 <- fortify(china_map)                               #转化为数据框

业务数据导入及作图数据合并:

mydata <- read.csv("c:/rstudy/geshengzhibiao.csv")             #读取业务数据

province_city <- read.csv("c:/rstudy/chinaprovincecity.csv")   #读取省会城市坐标

china_data <- join(province_city, mydata, type="full")        #合并两个数据框

R语言可视化实现地图与气泡图的绘制

地图语句:

ggplot()+

     geom_polygon(data=china_map1, aes(x=long, y=lat, group=group), fill="grey95", colour="grey60")+ 

     geom_point(data=china_data, aes(x = jd,y = wd, size=zhibiao, fill=zhibiao2, alpha=0.3), shape=21, colour="black")+ 

     scale_size_area(max_size=8)+         

scale_fill_gradient2(low="DarkCyan", mid="Azure", high="Sienna", midpoint=median(na.omit

(china_data$zhibiao2)))+         

     coord_map("polyconic") +ggtitle("Heat&Bubble plot")+

     theme(

          panel.grid = element_blank(),

          panel.background = element_blank(),

          axis.text = element_blank(),

          axis.ticks = element_blank(),

          axis.title = element_blank(),

          legend.position = "none"

          )  

R语言可视化实现地图与气泡图的绘制

以上语法中,使用了geom_polygon()多边形函数来定义并填充地图背景 (注意里面的fill参数(指定地图区域颜色),colour参数指定多边形(也就是地区轮廓线)边框颜色),然后通过geom_point()函数添加散点图图层。

图层中指定数据源为合并后的业务数据,散点面积(大小)用zhibiao1来映射,气泡图颜色用zhibiao2来映射(本来散点是只有点颜色(使用colour控制,没有填充色的,可是当给散点指定其形状后,散点就有了面积属性可以使用fill进行颜色填充),气泡的轮廓线用colour来指定)。

之后的scale_size_area()和scale_fill_gradient2()是对前面geom_point内的fill与size两个标度进行的深度调整,scale_size_area()告诉软件散点大小与面积要严格的与指标1具体数值大小成比例,并规定面积最大为25。

scale_fill_gradient2()定义了一个三色渐变,low、mid、high分别由一个颜色代码控制,同时均值颜色要映射给指标2的平均数。

最后的ggtitle定义主题,theme内的参数清除掉所有图层上的无关元素(背景、网格系统、横纵轴标签、刻度线、轴标题、图例)

到此,关于“R语言可视化实现地图与气泡图的绘制”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI