R語言可視化實(shí)現(xiàn)地圖填充與散點(diǎn)圖圖層疊加

本篇內(nèi)容主要講解“R語言可視化實(shí)現(xiàn)地圖填充與散點(diǎn)圖圖層疊加”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“R語言可視化實(shí)現(xiàn)地圖填充與散點(diǎn)圖圖層疊加”吧!

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比龍門網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式龍門網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋龍門地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。

今天跟大家分享關(guān)于如何在地圖圖層上添加散點(diǎn)圖。

散點(diǎn)圖需要精確的經(jīng)緯度信息才能在疊加的圖層上進(jìn)行映射,因此我們選用中國省級(jí)輪廓地圖以及各省省會(huì)城市的經(jīng)緯度進(jìn)行案例演示。

加載包:

library(ggplot2)

library(plyr)

library(maptools)

library(sp)

導(dǎo)入中國省界地圖:

china_map<-readShapePoly("c:/rstudy/bou2_4p.shp")

data1<- china_map@data      

data2<- data.frame(id=row.names(data1),data1) 

數(shù)據(jù)格式轉(zhuǎn)化及業(yè)務(wù)數(shù)據(jù)合并:

china_map1 <- fortify(china_map) 

china_map_data <- join(china_map1,data2, type = "full") 

mydata <- read.csv("c:/rstudy/geshengzhibiao.csv")

china_data <- join(china_map_data, mydata, type="full")

各省省會(huì)城市經(jīng)緯度數(shù)據(jù):

province_city <- read.csv("c:/rstudy/chinaprovincecity.csv") 

省級(jí)輪廓地圖上添加散點(diǎn)圖圖層:

ggplot(china_data,aes(long,lat))+

     geom_polygon(aes(group=group),fill="white",colour="grey60")+

     geom_point(data=province_city,aes(x=jd,y=wd),colour="red")+

     coord_map("polyconic") + 

     theme(

          panel.grid = element_blank(),

          panel.background = element_blank(),

          axis.text = element_blank(),

          axis.ticks = element_blank(),

          axis.title = element_blank()

          )

R語言可視化實(shí)現(xiàn)地圖填充與散點(diǎn)圖圖層疊加

接下來,我們可以給各省的省會(huì)城市賦值,將散點(diǎn)圖的大小映射給連續(xù)性數(shù)值變量,使其變成氣泡圖。

province_city$zhibiao<-NULL

province_city$zhibiao<-rnorm(34,100,50)

windowsFonts(myFont = windowsFont("微軟雅黑"))

ggplot()+

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

     geom_point(data=province_city,aes(x=jd,y=wd,size=zhibiao),shape=21,fill="#8E0F2E",colour="black",alpha=0.4)+

     scale_size_area(max_size=8)+

     coord_map("polyconic") + 

     guides(size=guide_legend(reverse=TRUE,title=NULL))+ 

     ggtitle("某公司2015~2016年度營業(yè)狀況分布圖")+

     theme(

          title=element_text(family="myFont"),

          panel.grid = element_blank(),

          panel.background = element_blank(),

          axis.text = element_blank(),

          axis.ticks = element_blank(),

          axis.title = element_blank(),

          legend.position =c(0.15,0.4),

          legend.background=element_rect(colour="white",fill="white"),

          legend.text.align=1

          )

R語言可視化實(shí)現(xiàn)地圖填充與散點(diǎn)圖圖層疊加

最后我們來處理標(biāo)簽問題:

因?yàn)檫@里使用了散點(diǎn)圖(氣泡圖)作為數(shù)據(jù)展示方式,而作為底圖的地圖圖層僅僅是作為定位信息,沒有包含任何的數(shù)據(jù)信息,而且頁面整體上沒有太多地方放置省名稱標(biāo)簽,所以我們有選擇性的顯示前五個(gè)數(shù)據(jù)所代表的省份標(biāo)簽,以防標(biāo)簽太多導(dǎo)致頁面雜亂。

labelper<-province_city[order(province_city[,5],decreasing=T),][1:10,]

ggplot()+

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

     geom_point(data=province_city,aes(x=jd,y=wd,size=zhibiao),shape=21,fill="#8E0F2E",colour="black",alpha=0.4)+

     scale_size_area(max_size=8)+

     coord_map("polyconic") + 

     geom_text(aes(x=jd+2.3,y=wd,label=city),size =3,family="myFont",fontface="plain",data=labelper) +

     guides(size=guide_legend(reverse=TRUE,title=NULL))+ 

     ggtitle("某公司2015~2016年度營業(yè)狀況分布圖")+

     theme(

          title=element_text(family="myFont"),

          panel.grid = element_blank(),

          panel.background = element_blank(),

          axis.text = element_blank(),

          axis.ticks = element_blank(),

          axis.title = element_blank(),

          legend.position =c(0.15,0.4),

          legend.background=element_rect(colour="white",fill="white"),

          legend.text.align=1

          )

R語言可視化實(shí)現(xiàn)地圖填充與散點(diǎn)圖圖層疊加

如果甲你想要添加全部的標(biāo)簽,直接使用province_city中的city標(biāo)簽即可:

ggplot()+

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

     geom_point(data=province_city,aes(x=jd,y=wd,size=zhibiao),shape=21,fill="#8E0F2E",colour="black",alpha=0.4)+

     scale_size_area(max_size=8)+

     coord_map("polyconic") + 

     geom_text(aes(x=jd+2.3,y=wd,label=city),size =3,family="myFont",fontface="plain",data=province_city) +

     guides(size=guide_legend(reverse=TRUE,title=NULL))+ 

     ggtitle("某公司2015~2016年度營業(yè)狀況分布圖")+

     theme(

          title=element_text(family="myFont"),

          panel.grid = element_blank(),

          panel.background = element_blank(),

          axis.text = element_blank(),

          axis.ticks = element_blank(),

          axis.title = element_blank(),

          legend.position =c(0.15,0.4),

          legend.background=element_rect(colour="white",fill="white"),

          legend.text.align=1

          )

R語言可視化實(shí)現(xiàn)地圖填充與散點(diǎn)圖圖層疊加

到此,相信大家對(duì)“R語言可視化實(shí)現(xiàn)地圖填充與散點(diǎn)圖圖層疊加”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

文章題目:R語言可視化實(shí)現(xiàn)地圖填充與散點(diǎn)圖圖層疊加
網(wǎng)址分享:http://muchs.cn/article42/jchdec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站定制網(wǎng)站、標(biāo)簽優(yōu)化、服務(wù)器托管、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司