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

溫馨提示×

溫馨提示×

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

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

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

南丹县| 鄱阳县| 武穴市| 凤城市| 宜都市| 澎湖县| 衡东县| 平安县| 平度市| 三穗县| 黑龙江省| 炉霍县| 辽阳县| 泸定县| 行唐县| 中方县| 凭祥市| 延长县| 高尔夫| 五大连池市| 鄂州市| 上犹县| 武穴市| 沂水县| 鲁山县| 巩义市| 普兰店市| 长乐市| 于都县| 鄂托克旗| 黑龙江省| 德惠市| 岗巴县| 始兴县| 镇赉县| 江北区| 舟山市| 滦南县| 百色市| 庄河市| 泸州市|