91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

ggplot2中怎么自定義數據地圖版面范圍

發布時間:2021-12-03 17:49:09 來源:億速云 閱讀:364 作者:小新 欄目:大數據

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

之前聯系過程中遇到的一個小技術問題,就是在ggplot2制作數據地圖時,使用標度調整參數進行范圍限定時,總是出現錯誤,版面上出現交錯的線條和條帶。

應該是自己添加的標度限定參數與ggplot2映射規則出現了沖突,特別再加上空間投影參數,這種沖突和錯亂就顯得更加明顯。

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

ggplot2中怎么自定義數據地圖版面范圍

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

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中怎么自定義數據地圖版面范圍

倘若我想將該地圖版面聚焦到中國的領土范圍內,但是呢,又不想單獨呈現孤零零的中國地圖,我需要中國周邊的這些鄰國邊界,來鎖定中國在亞洲地區的大致位置,這些周邊領國邊界不要求都擁完整的行政區劃,可以根據版面的需要,進行矩形切割就行。

這樣看起來必須對世界地圖進行切割,而且需要切割的是美學映射參數x,y的范圍(也就是坐標系統的范圍)。

我們都知道在ggplot2系統中,調整X,Y的標度范圍擁有布置一個的可選參數:

  • xlim/ylim

  • expand_limits()

  • scale_x/y_continuous()

其實坐標軸系統中也可以嵌入標度調整參數:

  • coord_map()

那么應該使用哪個方法進行調整呢,這里就賣個關子,我們一個一個來嘗試:

切割的范圍為:

  • 經度:60~155

  • 維度:0~65

這個范圍剛好可以涵蓋我國領土的完整范圍:

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

     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中怎么自定義數據地圖版面范圍

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

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

     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中怎么自定義數據地圖版面范圍

這次結果又失敗了,不僅沒有完成目標,底部還出現了一條莫名其妙的線條。

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

     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中怎么自定義數據地圖版面范圍

第三種方案又以失敗告終,結果跟第一種的問題一模一樣。

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

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

     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中怎么自定義數據地圖版面范圍

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

在ggplot2版面中制作數據對圖,想要對版面進行有效的控制,需將標度范圍的調整參數在坐標系內進行限定,否則會出現錯亂,而是在限定范圍的同時可能需要放棄使用空間投影(有沒有更好的解決方案,目前還未知,留待以后解決)。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“ggplot2中怎么自定義數據地圖版面范圍”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

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

AI

虎林市| 荥经县| 九台市| 彭山县| 陆河县| 兴仁县| 皋兰县| 历史| 隆昌县| 石棉县| 兰溪市| 禹城市| 时尚| 宿州市| 沅江市| 托克托县| 巧家县| 馆陶县| 上饶县| 资兴市| 基隆市| 吕梁市| 罗源县| 沂源县| 常熟市| 新泰市| 尉犁县| 庆安县| 嘉荫县| 阿拉善右旗| 论坛| 阜新| 湘乡市| 长岭县| 门头沟区| 鄯善县| 买车| 佛坪县| 盱眙县| 高陵县| 东港市|