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

溫馨提示×

溫馨提示×

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

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

R語言可視化實現數據地圖離散百分比填充

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

本篇內容介紹了“R語言可視化實現數據地圖離散百分比填充”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

今天跟大家分享如何以百分比形式填充離散分段數據地圖。

案例用環渤海三省二市的地理數據。

library(ggplot2)

library(maptools)

library(plyr)

數據導入、轉換、抽取

CHN_adm2 <- readShapePoly("c:/rstudy/CHN_adm/CHN_adm2.shp") 

CHN_adm2_1 <- fortify(CHN_adm2)   

data1 <- CHN_adm2@data          

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

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

huanbohai <-subset(china_map_data,NAME_1==c("Beijing","Tianjin","Nei Mongol","Hebei","Shandong"))

建立業務數據:

huanbohai_perm<-data.frame(NAME_2=unique(huanbohai$NAME_2),zhibiao=rnorm(42,100,50))

huanbohai_perm$zhibiao<-round(huanbohai_perm$zhibiao,0)

write.table (huanbohai_perm, file ="C:/rstudy/huanbohai.csv", sep =",", row.names =FALSE)

業務數據導入及合并:

mydata<-read.csv("C:/rstudy/huanbohai.csv",header=T)

huanbohai_map_data <- join(huanbohai,mydata, type="full")

###將轉換的分段因子變量重新命名為我們需要的分段閥值:

huanbohai_map_data$fau <- cut(huanbohai_map_data$zhibiao, breaks = c(0,40,80,120,160,200)) 

huanbohai_map_data$fam<-factor(huanbohai_map_data$fau,levels=c('(0,40]','(40,80]','(80,120]','(120,160]','(160,200]'),labels=c('0~40','40~80','80~120','120~160','160~200'),order=TRUE)

離散顏色標度填充(實際值分段)

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

ggplot(huanbohai_map_data, aes(x = long, y = lat, group = group,fill =fam)) +

     geom_polygon(colour="white")+

     scale_fill_brewer(palette="Greens") +  ###Blues&Greens

     coord_map("polyconic") +

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

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

     theme(

          title=element_text(family="myFont"), 

          legend.text.align=1, ###圖例標簽右對齊             

          panel.grid = element_blank(),

          panel.background = element_blank(),

          axis.text = element_blank(),

          axis.ticks = element_blank(),

          axis.title = element_blank(),

          legend.position = c(0.08,0.6)

          )

R語言可視化實現數據地圖離散百分比填充

以上是昨天在東三省填充地圖中所使用過的方法,接下來我解釋一種新的填充方案,通過將數量段轉換為百分比進行離散顏色標度填充:

離散顏色標度分割(百分比數量段):

qa <- quantile(na.omit(huanbohai_map_data$zhibiao), c(0,0.2,0.4,0.6,0.8,1.0))

huanbohai_map_data$zhibiao_q<-cut(huanbohai_map_data$zhibiao,qa,labels = c("0-20%", "20-40%","40-60%","60-80%", "80-100%"),include.lowest = TRUE)

> levels(huanbohai_map_data$zhibiao_q)

[1] "0-20%"   "20-40%"  "40-60%"  "60-80%"  "80-100%"

通過將指標變量以分段百分比的方式進行分割,新建立一個百分比分段因子變量:

離散漸變(百分比)

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

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

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

     scale_fill_brewer(palette="Greens")+

     coord_map("polyconic") +

     guides(fill=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.2,0.7),

          legend.text.align=1

          ) 

R語言可視化實現數據地圖離散百分比填充

###帶標簽

接下來處理標簽問題:

創建各城市中心地理坐標:

midpos <- function(data1) mean(range(data1,na.rm=TRUE))

centres <- ddply(huanbohai_map_data,.(city),colwise(midpos,.(long,lat)))

填充并添加標簽:

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

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

     scale_fill_brewer(palette="Greens")+

     coord_map("polyconic") +

     geom_text(aes(label=city),size =3,family="myFont",fontface="plain",data=centres) +

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

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

     theme(

          title=element_text(family="myFont"),

          title=element_text(family="myFont"), 

          panel.grid = element_blank(),

          panel.background = element_blank(),

          legend.text.align=1,

          axis.text = element_blank(),

          axis.ticks = element_blank(),

          axis.title = element_blank(),

          legend.position = c(0.2,0.7)

          ) 

R語言可視化實現數據地圖離散百分比填充
 

“R語言可視化實現數據地圖離散百分比填充”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

AI

赤城县| 阆中市| 砀山县| 庆元县| 崇阳县| 荔波县| 天长市| 罗田县| 文安县| 凭祥市| 涿鹿县| 北流市| 大连市| 色达县| 天镇县| 余姚市| 广东省| 房产| 枣庄市| 贞丰县| 汤原县| 渝中区| 虹口区| 阳春市| 达孜县| 白沙| 南涧| 华阴市| 北海市| 宜黄县| 抚顺县| 长治县| 中宁县| 郓城县| 石楼县| 鹿泉市| 郁南县| 山东省| 攀枝花市| 高青县| 铜川市|