内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

ggplot2中怎么自定義數(shù)據(jù)地圖版面范圍

這篇文章主要介紹了ggplot2中怎么自定義數(shù)據(jù)地圖版面范圍,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)公司是一家專(zhuān)業(yè)提供鄱陽(yáng)企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都做網(wǎng)站、成都網(wǎng)站制作、html5、小程序制作等業(yè)務(wù)。10年已為鄱陽(yáng)眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)的建站公司優(yōu)惠進(jìn)行中。

之前聯(lián)系過(guò)程中遇到的一個(gè)小技術(shù)問(wèn)題,就是在ggplot2制作數(shù)據(jù)地圖時(shí),使用標(biāo)度調(diào)整參數(shù)進(jìn)行范圍限定時(shí),總是出現(xiàn)錯(cuò)誤,版面上出現(xiàn)交錯(cuò)的線條和條帶。

應(yīng)該是自己添加的標(biāo)度限定參數(shù)與ggplot2映射規(guī)則出現(xiàn)了沖突,特別再加上空間投影參數(shù),這種沖突和錯(cuò)亂就顯得更加明顯。

其實(shí)我就是想要獲取這樣一幅數(shù)據(jù)地圖,而不是做完整個(gè)世界地圖之后再去裁剪導(dǎo)出的圖片。(那樣會(huì)顯得很不fashion)。

ggplot2中怎么自定義數(shù)據(jù)地圖版面范圍

library("ggplot2")

library("plyr")

library("maptools")

library("ggthemes")

options(stringsAsFactors=FALSE,warn=FALSE)

world_map <-readShapePoly("D:/R/rstudy/wold_map/World_region.shp")

x <- world_map@data    

xs <- data.frame(x,id=seq(0:250)-1) 

world_map1 <- fortify(world_map)    

world_map_data <- join(world_map1, xs, type = "full")

mydata <- read.csv("D:/R/rstudy/wold_map/Region_map.csv") 

mydata$fam<-cut(mydata$zhibiao1,breaks=c(0,100,200,300,400,500),labels=c('0~100','100~200','200~300','300~400','400~500'),order=TRUE,include.lowest=TRUE)

world_data <- join(world_map_data, mydata, type="full")

這是完整的世界地圖:

windowsFonts(myfont=windowsFont("微軟雅黑 Light")) 

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

geom_polygon(colour="white")+

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

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

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

theme_map() %+replace% 

theme(title=element_text(family="myfont"),legend.position=c(0.08,0.4),legend.text.align=1)

ggplot2中怎么自定義數(shù)據(jù)地圖版面范圍

倘若我想將該地圖版面聚焦到中國(guó)的領(lǐng)土范圍內(nèi),但是呢,又不想單獨(dú)呈現(xiàn)孤零零的中國(guó)地圖,我需要中國(guó)周邊的這些鄰國(guó)邊界,來(lái)鎖定中國(guó)在亞洲地區(qū)的大致位置,這些周邊領(lǐng)國(guó)邊界不要求都擁完整的行政區(qū)劃,可以根據(jù)版面的需要,進(jìn)行矩形切割就行。

這樣看起來(lái)必須對(duì)世界地圖進(jìn)行切割,而且需要切割的是美學(xué)映射參數(shù)x,y的范圍(也就是坐標(biāo)系統(tǒng)的范圍)。

我們都知道在ggplot2系統(tǒng)中,調(diào)整X,Y的標(biāo)度范圍擁有布置一個(gè)的可選參數(shù):

  • xlim/ylim

  • expand_limits()

  • scale_x/y_continuous()

其實(shí)坐標(biāo)軸系統(tǒng)中也可以嵌入標(biāo)度調(diào)整參數(shù):

  • coord_map()

那么應(yīng)該使用哪個(gè)方法進(jìn)行調(diào)整呢,這里就賣(mài)個(gè)關(guān)子,我們一個(gè)一個(gè)來(lái)嘗試:

切割的范圍為:

  • 經(jīng)度:60~155

  • 維度:0~65

這個(gè)范圍剛好可以涵蓋我國(guó)領(lǐng)土的完整范圍:

  • 方案一:xlim/ylim

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

     geom_polygon(colour="white")+

     xlim(60,155)+ylim(0,65)+

     scale_fill_brewer(palette="Blues") +  

     coord_map("polyconic") +

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

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

     theme_map() %+replace% 

 theme(title=element_text(family="myfont"),legend.position=c(0.08,0.4),legend.text.align=1)

ggplot2中怎么自定義數(shù)據(jù)地圖版面范圍

切割效果如下,有反饋但是效果不佳,未達(dá)到目的,第一種方案宣告失敗。

  • 方案二:expand_limits()

ggplot(world_data, aes(x = long,y=lat,group=group)) +

     geom_polygon(aes(fill =fam),colour="white")+

     expand_limits(x=c(60,155),y=c(0,65))+

     scale_fill_brewer(palette="Blues") +  

     coord_map("polyconic") +

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

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

     theme_map() %+replace% 

 theme(title=element_text(family="myfont"),legend.position=c(0.08,0.4),legend.text.align=1)

ggplot2中怎么自定義數(shù)據(jù)地圖版面范圍

這次結(jié)果又失敗了,不僅沒(méi)有完成目標(biāo),底部還出現(xiàn)了一條莫名其妙的線條。

  • 方案三:scale_x/y_continuous()

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

     geom_polygon(colour="white")+

     scale_x_continuous(limits=c(60,155))+

     scale_y_continuous(limits=c(0,65))+

     scale_fill_brewer(palette="Blues") +  

     coord_map("polyconic") +

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

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

     theme_map() %+replace% 

 theme(title=element_text(family="myfont"),legend.position=c(0.08,0.4),legend.text.align=1)

ggplot2中怎么自定義數(shù)據(jù)地圖版面范圍

第三種方案又以失敗告終,結(jié)果跟第一種的問(wèn)題一模一樣。

那么現(xiàn)在就剩最后一一種方案啦,希望這次能成功。

  • 方案四:coord_map()

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

     geom_polygon(colour="white")+

     scale_fill_brewer(palette="Blues") +  

     coord_cartesian(xlim=c(60,155),ylim=c(0,65))+

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

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

     theme_map() %+replace% 

 theme(title=element_text(family="myfont"),legend.position=c(0.88,0.3),legend.text.align=1)

ggplot2中怎么自定義數(shù)據(jù)地圖版面范圍

ok,這次成功了,但是我放棄了使用coord_map()空間投影參數(shù),而是使用了普通的笛卡爾二維坐標(biāo)。

在ggplot2版面中制作數(shù)據(jù)對(duì)圖,想要對(duì)版面進(jìn)行有效的控制,需將標(biāo)度范圍的調(diào)整參數(shù)在坐標(biāo)系內(nèi)進(jìn)行限定,否則會(huì)出現(xiàn)錯(cuò)亂,而是在限定范圍的同時(shí)可能需要放棄使用空間投影(有沒(méi)有更好的解決方案,目前還未知,留待以后解決)。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“ggplot2中怎么自定義數(shù)據(jù)地圖版面范圍”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

名稱(chēng)欄目:ggplot2中怎么自定義數(shù)據(jù)地圖版面范圍
文章起源:http://www.rwnh.cn/article22/jdjicc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、面包屑導(dǎo)航、網(wǎng)站營(yíng)銷(xiāo)、自適應(yīng)網(wǎng)站ChatGPT、App設(shè)計(jì)

廣告

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

外貿(mào)網(wǎng)站制作
四平市| 临澧县| 城口县| 西盟| 高密市| 忻城县| 龙里县| 苏尼特右旗| 丰台区| 云和县| 醴陵市| 塔河县| 台中市| 泉州市| 永春县| 竹溪县| 昔阳县| 莱州市| 杭锦后旗| 玉林市| 册亨县| 壤塘县| 天水市| 宜川县| 台山市| 康乐县| 丽江市| 承德县| 精河县| 台东市| 安义县| 即墨市| 巩义市| 永德县| 湾仔区| 台安县| 乌苏市| 类乌齐县| 舒城县| 海淀区| 高雄县|