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

溫馨提示×

溫馨提示×

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

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

R語言可視化中ggplot繪制中心密度輻射圖是怎樣的

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

R語言可視化中ggplot繪制中心密度輻射圖是怎樣的,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

因為在ggplot2中一直沒有看到好的關于密度輻射圖(或者稱它為熱力輻射圖,就是那種PowerMap中可以通過顏色色度探查區域指標分布密度的圖表類型)的合適解決方案,最近在看github官網上ggmap的介紹帖,看到作者在ggmap函數中嵌套了geom_polygon圖層并并使用fill=..level..參數和stat="density_2d"來來制作類似的熱度輻射圖。

我就突發奇想,如果不是通過ggmap而是通過ggplot函數是否也可以呢,果然也是可以出效果的,先將方法介紹如下:

首先需要加載如下包:

library(ggplot2)      

library(plyr)         

library(maptools) 

library(ggmap) 

接下來導入兩個數據集:

其中一個是中國省級邊界輪廓圖,早期關注過數據小魔方的用戶大概都知道,我曾經共享過一個名為rstudy的文件包(我在劉萬祥老師的公眾號里發現的,現在應該也還可以獲取),如果手上沒有數據可以添加魔方學院的QQ群,在群共享里查找R語言資料。(共享文件比較多,可能需要找一陣子)

另一個是之前在講解REmap熱度輻射圖時用過的城市價值指標數據集,推送后會共享在魔方學院的QQ群里。

導入數據集:

china_map<-readShapePoly("c:/rstudy/bou2_4p.shp")  #地圖數據 

china_map1 <- fortify(china_map)                   #轉換為數據框

data<- read.csv(file="D:\\R\\map\\MoveChart\\cityvaluetop10.csv",header=T)  #城市指標數據

R語言可視化中ggplot繪制中心密度輻射圖是怎樣的

因為這里使用地圖僅僅是作為底圖用作定位信息,可以說是陪襯,所以無需對地圖和城市指標進行合并。

以下是圖表的正式生成過程:

1、畫底圖:

p<-ggplot()+

geom_polygon(data=china_map1,aes(x=long,y=lat,group=group),fill="#005A32",col="white")

R語言可視化中ggplot繪制中心密度輻射圖是怎樣的

2、添加熱度圖層

p<-p+geom_polygon(data=data,aes(x=lon,y=lat,fill = ..level..), stat="density_2d", alpha = .3, color = NA)+coord_map("polyconic") 

R語言可視化中ggplot繪制中心密度輻射圖是怎樣的

3、調整熱度圖層

p<-p+scale_fill_gradient2( low = "white",mid="yellow", high = "red")

R語言可視化中ggplot繪制中心密度輻射圖是怎樣的

4、清楚冗余元素

p<-p+theme_nothing()

R語言可視化中ggplot繪制中心密度輻射圖是怎樣的

5、可以給以上熱圖添加散點輔助觀測

p<-p+geom_point(data=data,aes(x=lon,y=lat),col="white")

R語言可視化中ggplot繪制中心密度輻射圖是怎樣的

6、當然,你也可以給三點指定城市的指標數據使其變成氣泡圖

p<-p+geom_point(data=data,aes(x=lon,y=lat,size=prob),col="white")+scale_size_area(max_size=6)

#記得清除掉第5步,即從第四步開始

R語言可視化中ggplot繪制中心密度輻射圖是怎樣的

至于實際的數據標簽,指標名稱和區域名稱,酌情添加,但是針對地圖類圖表,數據展示到位即可,不建議添加太多標簽,影響美觀性。

針對本圖表類型,核心參數是第二個geom_polygon()中的fill = ..level..和stat="density_2d"統計變換,使得多邊形圖轉換成為二維水平密度圖,但是至今我還沒有搞懂里面的算法是什么樣的,只能大概模仿出來,至于怎么用,看大家自由發揮了,效果跟真正的熱力輻射圖還是有些差別,但是勉強能用。

總結下,用到的所有代碼如下:

ggplot()+

geom_polygon(data=china_map1,aes(x=long,y=lat,group=group),fill="#005A32",col="white")+

geom_polygon(data=data,aes(x=lon,y=lat,fill = ..level..), stat="density_2d", alpha = .3, color = NA)+

coord_map("polyconic") +

geom_point(data=data,aes(x=lon,y=lat,size=prob),col="white")+

scale_size_area(max_size=6)+

scale_fill_gradient2( low = "white",mid="yellow", high = "red")+

theme_nothing()  #這一句清空主題的代碼是ggmap包中的,必須加載才能用

感興趣的小伙伴兒可以移步去github官網上搜索ggmap官方介紹,里面使用ggmap調用谷歌地圖做的熱度圖,效果很棒。

看完上述內容,你們掌握R語言可視化中ggplot繪制中心密度輻射圖是怎樣的的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

聂拉木县| 彭泽县| 准格尔旗| 龙门县| 银川市| 奎屯市| 湖口县| 原阳县| 盐源县| 陇西县| 夹江县| 武陟县| 怀仁县| 巴塘县| 金山区| 卢龙县| 株洲县| 铁岭县| 长顺县| 罗城| 玉环县| 施甸县| 和静县| 安阳市| 弥渡县| 伊宁市| 肇州县| 平江县| 安康市| 元阳县| 工布江达县| 庆城县| 永靖县| 海南省| 岳阳县| 新乡市| 本溪市| 寻甸| 荔浦县| 玉林市| 巨鹿县|