溫馨提示×

溫馨提示×

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

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

如何分析ggplot2分面氣泡圖餅圖

發(fā)布時(shí)間:2022-01-04 15:23:17 來源:億速云 閱讀:221 作者:柒染 欄目:大數(shù)據(jù)

如何分析ggplot2分面氣泡圖餅圖,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

ggplot2系統(tǒng)內(nèi)的分面函數(shù)只有簡單的一個(gè)facet_grid(),但是恰恰就是這么一個(gè)不很起眼,甚至看起來有些特立獨(dú)行的分面函數(shù),卻給高維數(shù)據(jù)可視化帶來了革命性的變化,有了它,所有基于ggplot2的可視化圖形都能夠擴(kuò)展呈現(xiàn) 維度,從第三維、第四維、第五維(理論上來說)。

還是再強(qiáng)調(diào)一下facet_grid()在ggplot2各個(gè)幾何圖層中的地位和控制范圍,分面函數(shù)作為一個(gè)特殊的,具有美學(xué)映射屬性,卻被設(shè)計(jì)在了與幾何圖層近乎獨(dú)立地位(表現(xiàn)在從寫法上來看,它并沒有被設(shè)計(jì)在幾何圖層內(nèi),而是與其他幾何圖層在位置上平行),由此可見包作者對其的推崇和重視。

它的控制權(quán)限是很高的,倘若你在facet_grid()函數(shù)內(nèi)部指定了一個(gè)分面參數(shù),那么剩余的所有幾何圖層都可以自動(dòng)適用這個(gè)分面(當(dāng)然前提是各幾何圖層的美學(xué)映射中都好含有與分面參數(shù)相同的變量)。

所以想要分面參數(shù)同事控制多個(gè)圖層,必須保證每一個(gè)圖層內(nèi)都含有該分面參數(shù)同名的變量。

今天以氣泡餅圖為例:

library(ggplot2)
library(dplyr)
library(rgdal)
library(shiny)
library(shinythemes)
library(scatterpie)

導(dǎo)入并整理地圖數(shù)據(jù):

china_map <-readOGR("D:/R/mapdata/State/china.geojson","OGRGeoJSON",stringsAsFactors=FALSE)
Encoding(china_map@data$name)<-"UTF-8"china_map <- fortify(china_map) 
province_city <- read.csv("D:/R/rstudy/Province/chinaprovincecity.csv",stringsAsFactors = FALSE,check.names=FALSE)

構(gòu)造氣泡餅圖數(shù)據(jù):

city_data<-data.frame(Name=rep(c("北京","上海","重慶","武漢","廣州","西安")))
for (i in 2:7) city_data[,i]<-round(runif(6,0,250)) names(city_data)[2:7]<-paste0("Year",2011:2016) city_data$Full<-apply(city_data[,-1],1,sum) city_data$Full_scale<-scale(city_data$Full,center=F,scale=T)*2

#提取中心城市數(shù)據(jù): city_data<-city_data%>%merge(province_city[,c("city","wd","jd")],by.x="Name",by.y="city",all.x=TRUE)

如何分析ggplot2分面氣泡圖餅圖

氣泡餅圖:

ggplot() +    
   geom_polygon(data=china_map,aes(x=long,y=lat,group=group),fill="white",color="grey")+    geom_scatterpie(data=city_data,aes(x=jd,y=wd,r=Full_scale),cols=names(city_data)[2:7],color="grey", alpha=.8) +    scale_fill_brewer(guide=FALSE)+      theme_void()

如何分析ggplot2分面氣泡圖餅圖

構(gòu)造帶有分類變量的氣泡餅圖數(shù)據(jù):

city_data2<-data.frame(Name=rep(city_data$Name,6))
for (i in 2:4) city_data2[,i]<-runif(nrow(city_data2),10,100) names(city_data2)[2:4]<-paste0("Value",1:3) city_data2$Year<-rep(paste0("Year",2011:2016),each=6) city_data2<-city_data2%>%merge(city_data[,c("Name","jd","wd")],by="Name",all.x=T) city_data2$Full<-apply(city_data2[,2:4],1,sum)%>%scale(center=F,scale=T) city_data2$Full<-as.numeric(city_data2$Full)*2
city_data2<-city_data2%>%arrange(Year,Name)

如何分析ggplot2分面氣泡圖餅圖

高維分面餅圖:

ggplot()+
geom_polygon(data=china_map,aes(x=long,y=lat,group=group),fill="white",color="grey")+
geom_scatterpie(data=city_data2,aes(x=jd,y=wd,r=Full),cols=names(city_data2)[2:4],color="grey", alpha=.8) +
    scale_fill_brewer(guide=FALSE)+   
    facet_wrap(~Year)+
    theme_void()

如何分析ggplot2分面氣泡圖餅圖

關(guān)于如何分析ggplot2分面氣泡圖餅圖問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI