亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

R語言可視化的中心放射狀路徑圖是怎樣的

發布時間:2021-11-22 10:19:17 來源:億速云 閱讀:204 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關R語言可視化的中心放射狀路徑圖是怎樣的,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

最近一直在研究ggplot剩余還沒有涉略過的圖表類型,試圖挖掘出一些新的圖表形式,就像是該包的作者所暗示的那樣,ggplot2只是給你搭建了一個圖層語法環境,至于具體能創造出何種圖形,全憑自己的想象力。

慢慢的我發現還有一類geom_segment對象自己一直沒有嘗試過,于是滿心歡喜的嘗試了一下,果然還是有收獲的,我發現通過這個segment圖層,可以批量的創建放射狀線條圖,也就是路徑圖,這解決了我一直以來的難題,今天順便分享給大家。

加載包:

library(ggplot2)

library(ggmap)

library(plyr)

library(maptools)

加載中國省份行政地圖:

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

x <- china_map@data      

xs <- data.frame(id=row.names(x),x) 

轉換為數據框并合并城市數據:

china_map1 <- fortify(china_map) 

china_map_data <- join(china_map1, xs, 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") 

拆分蘭州數據:

newdata<-subset(province_city,city=="蘭州")

newdata1<-subset(province_city,city!="蘭州")

sourcex<-rep(newdata$jd,33)

sourcey<-rep(newdata$wd,33)

制作以蘭州為中心的點對點作圖數據:(可以類比之前REmap路徑圖數據源)

tagetx<-newdata1$jd

tagety<-newdata1$wd


dataA<-data.frame(sourcex,sourcey,tagetx,tagety)

dataB<-newdata1[,1:2]

dataC<-cbind(dataB,dataA)

dataC$point<-round(runif(33,10,50))

利用geom_segment()圖層制作放射路徑圖:

ggplot()+

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

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

coord_map("polyconic") + 

geom_segment(data=dataC,aes(x=sourcex,y=sourcey,xend=tagetx,yend=tagety,colour="red"))+

theme_nothing() 

R語言可視化的中心放射狀路徑圖是怎樣的

這里再稍微的擴展一下,其實以上你看到的放射狀線條是蘭州與其他城市之間的直線,之所以變的有弧度,只是因為加了地圖投影的緣故,這里我可以取消投影參數,看下效果。

ggplot()+

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

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

geom_segment(data=dataC,aes(x=sourcex,y=sourcey,xend=tagetx,yend=tagety,colour="red"))+

theme_nothing() 

R語言可視化的中心放射狀路徑圖是怎樣的

這里取消投影參數之后,線條變成了點間直線,但是默認的不帶投影的地圖看起來與我們認知中的中國地圖形狀有些不一樣,好像被壓扁了一樣。

其實這里還有一個圖層函數也可以做出來這種放射狀線條,geom_curve(),圖層,不過它本身就是有弧度的曲線,曲率可以通過參數進行微調。

ggplot()+

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

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

geom_curve(data=dataC,aes(x=sourcex,y=sourcey,xend=tagetx,yend=tagety,colour="red"))+

theme_nothing() 

R語言可視化的中心放射狀路徑圖是怎樣的

曲率調整:

ggplot()+

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

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

geom_curve(data=dataC,aes(x=sourcex,y=sourcey,xend=tagetx,yend=tagety,colour="red"),curvature = 0.8)+ #用于調整曲率,范圍在-1~1之間。

theme_nothing() 

R語言可視化的中心放射狀路徑圖是怎樣的

ggplot()+

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

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

geom_curve(data=dataC,aes(x=sourcex,y=sourcey,xend=tagetx,yend=tagety,colour="red"),curvature =-0.5)+

theme_nothing() 

R語言可視化的中心放射狀路徑圖是怎樣的

當然,通過圖形疊加,我們還可以重復多次這樣的放射狀線條圖。

以下以北京為例:

newdataA<-subset(province_city,city=="北京")

newdataB<-subset(province_city,city!="北京")

soux<-rep(newdataA$jd,33)

souy<-rep(newdataA$wd,33)

tagx<-newdataB$jd

tagy<-newdataB$wd

dataD<-data.frame(soux,souy,tagx,tagy)

dataE<-newdataB[,1:2]

dataF<-cbind(dataD,dataE)

dataF$point<-round(runif(33,10,50))

兩個中心的路徑圖(蘭州、北京)

ggplot()+

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

coord_map("polyconic") + 

geom_segment(data=dataC,aes(x=sourcex,y=sourcey,xend=tagetx,yend=tagety,colour="red"))+

geom_segment(data=dataF,aes(x=soux,y=souy,xend=tagx,yend=tagy,colour="blue"))+

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

theme_nothing() 

R語言可視化的中心放射狀路徑圖是怎樣的

關于R語言可視化的中心放射狀路徑圖是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

招远市| 正镶白旗| 和平县| 蚌埠市| 体育| 尉氏县| 英吉沙县| 贵溪市| 亚东县| 嫩江县| 乐陵市| 富民县| 宾川县| 黄陵县| 深水埗区| 盐山县| 辽中县| 博野县| 甘孜| 堆龙德庆县| 象州县| 武义县| 涿州市| 宣化县| 双流县| 瑞昌市| 西乌| 临清市| 陵水| 兰溪市| 拜城县| 含山县| 英德市| 莎车县| 新郑市| 亚东县| 成安县| 福清市| 浠水县| 雷州市| 南溪县|