中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

R語言可視化實現地圖填充與散點圖圖層疊加

發布時間:2021-07-23 09:02:28 來源:億速云 閱讀:251 作者:chen 欄目:大數據

本篇內容主要講解“R語言可視化實現地圖填充與散點圖圖層疊加”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“R語言可視化實現地圖填充與散點圖圖層疊加”吧!

今天跟大家分享關于如何在地圖圖層上添加散點圖。

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

加載包:

library(ggplot2)

library(plyr)

library(maptools)

library(sp)

導入中國省界地圖:

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

data1<- china_map@data      

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

數據格式轉化及業務數據合并:

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")

各省省會城市經緯度數據:

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

省級輪廓地圖上添加散點圖圖層:

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語言可視化實現地圖填充與散點圖圖層疊加

接下來,我們可以給各省的省會城市賦值,將散點圖的大小映射給連續性數值變量,使其變成氣泡圖。

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年度營業狀況分布圖")+

     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語言可視化實現地圖填充與散點圖圖層疊加

最后我們來處理標簽問題:

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

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年度營業狀況分布圖")+

     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語言可視化實現地圖填充與散點圖圖層疊加

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

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年度營業狀況分布圖")+

     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語言可視化實現地圖填充與散點圖圖層疊加

到此,相信大家對“R語言可視化實現地圖填充與散點圖圖層疊加”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邛崃市| 鹰潭市| 佛坪县| 大石桥市| 梁河县| 双城市| 当阳市| 新田县| 揭西县| 金寨县| 上虞市| 临汾市| 英德市| 鹤岗市| 锦屏县| 灵川县| 芮城县| 双流县| 凉山| 苍梧县| 阿尔山市| 松潘县| 海兴县| 泸水县| 维西| 肥西县| 洞口县| 连平县| 合江县| 石河子市| 霍林郭勒市| 磴口县| 乌拉特前旗| 济源市| 南昌县| 始兴县| 明光市| 辽宁省| 鹿泉市| 雅江县| 武陟县|