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

溫馨提示×

溫馨提示×

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

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

R語言記錄數據可視化實例分析

發布時間:2022-03-28 13:43:01 來源:億速云 閱讀:373 作者:iii 欄目:大數據

本文小編為大家詳細介紹“R語言記錄數據可視化實例分析”,內容詳細,步驟清晰,細節處理妥當,希望這篇“R語言記錄數據可視化實例分析”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

library(ggplot2)

library(maps)  

library(plyr)    

library(grid)

library(RColorBrewer)

library("dplyr")

library(gapminder)

library(gganimate)

library(animation)

此次使用的地圖是maps中的世界地圖,因為原始數據是gapminder包(沒錯就是那個做動態可視化很吊的團隊,他們有個網站就叫gapminder,里面各種高大上動態圖,而且還提供了動態圖演示的桌面端軟件)提供的數據。因為國家名稱有出入,我自己又整理了一份對照表。

world_map<-map_data("world")

world_map[world_map$group==1425&world_map$group==1425,"region"]<-"Trinidad and Tobago"

setwd("D:/")

Country<-read.csv("mydata.csv",stringsAsFactors = FALSE,check.names = FALSE) 

mapdata<-left_join(gapminder,Country)%>%na.omit()

mapdata$fan<-cut(mapdata$gdpPercap,breaks=c(min(mapdata$gdpPercap),2500,5000,7500,10000,15000,20000,30000,40000,max(mapdata$gdpPercap)),

labels=c("<=2500","2500~5000","5000~7500","7500~10000","10000~1500","1500~20000","20000~30000","30000~40000"," >=40000"),include.lowest=TRUE,order=TRUE)

mapnew_data<-left_join(world_map[,-6],mapdata[,-1],by="region")

使用colorbrewer提供的色盤:

color1<-brewer.pal(9,"YlOrRd")[c(3,4,5,6,7,8,9)]

color2<-brewer.pal(9,"Greens")[c(4,6)]

color<-c(rev(color2),color1)

定制一款主題:

mytheme<-theme(               

          panel.grid = element_blank(),

          panel.background = element_blank(),

          axis.text = element_blank(),

          axis.ticks = element_blank(),

          axis.title = element_blank(),

          legend.position ="none",

          plot.background=element_rect(I(0),linetype=0)

          )

分段填色熱力圖:(gganimate版)

p1<-ggplot(data=mapnew_data,aes(x=long,y=lat,group=group,fill=fan,frame=year))+

      geom_polygon(colour="grey",size=.2)+

      guides(fill=guide_legend(reverse=TRUE))+

      scale_fill_manual(values=color,na.value="grey95")+

      mytheme

gganimate(p1,interval = .5,"output.gif")

R語言記錄數據可視化實例分析

分段填色(animation版)

year<-unique(gapminder$year)

saveGIF({

  for (i in year) { 

    title <- as.character(i)

    g1<-ggplot()+

 geom_polygon(data=world_map,aes(x=long,y=lat,group=group),fill="white",colour="grey",size=.2)+

 geom_polygon(data=filter(mapnew_data,year==i),aes(x=long,y=lat,group=group,fill=fan),colour="grey",size=.2)+

        guides(fill=guide_legend(reverse=TRUE))+

        scale_fill_manual(values=color,na.value="grey95")+

        mytheme

        print(g1)

  }

},movie.name='world_population_Area.gif',interval=0.2,ani.width=1200,ani.height=750)

R語言記錄數據可視化實例分析

制作散點坐標數據:

midpos <- function(AD1){mean(range(AD1,na.rm=TRUE))} 

centres <- ddply(mapnew_data,.(region),colwise(midpos,.(long,lat)))

pointdata<-left_join(mapdata[,c(3,5,7)],centres)

帶填色散點圖(gganimate版)

p2<-ggplot(data=pointdata,aes(x=long,y=lat,frame=year))+

    geom_polygon(data=mapnew_data,aes(x=long,y=lat,group=group),colour="grey",size=.2,fill="white")+

      geom_point(aes(size=pop,fill=pop),shape=21,colour="black")+

      scale_fill_gradient(low="white",high="#D73434")+

      scale_size_area(max_size=18)+ 

      mytheme

gganimate(p2,interval = .5,"output2.gif")

R語言記錄數據可視化實例分析

帶填色散點圖(animation版)

year<-unique(gapminder$year)

saveGIF({

for (i in year) { 

title <- as.character(i) g1<-ggplot()+

geom_polygon(data=world_map,aes(x=long,y=lat,group=group),colour="grey",size=.2,fill="white")+ 

geom_point(data=filter(pointdata,year==i),aes(x=long,y=lat,size=pop,fill=pop),shape=21,colour="black")+

        scale_fill_gradient(low="white",high="#D73434")+

        labs(title=paste0("Population structure of World:",title),caption="Data Source:GapMinder") + 

        scale_size_area(max_size=18)+ 

        guides(fill=guide_legend(reverse=TRUE))+

        mytheme

        print(g1)

  }

},movie.name='world_population.gif',interval=0.2,ani.width=1200,ani.height=750)

R語言記錄數據可視化實例分析

雖然說gganimate包制作的動態圖效果不是很好調整,但是它整合了一些非常棒的功能,大大簡化了動態圖制作,他也可以制作累計動態圖(隨著年份增加,在保留過去效果的基礎上,增加最新事件內的效果),他不僅可以將時間變量作為切換維度,甚至不限制維度變量性質,即分類資料也是可以支持切換。

案例在ggplot2的擴展包社區里,你也可以在它的GitHub主頁上找到相關介紹:

R語言記錄數據可視化實例分析

讀到這里,這篇“R語言記錄數據可視化實例分析”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

同德县| 巨野县| 金秀| 奉化市| 邹平县| 烟台市| 石嘴山市| 类乌齐县| 朝阳区| 邯郸市| 重庆市| 澄江县| 漳州市| 罗平县| 建湖县| 习水县| 东山县| 株洲县| 宁河县| 涡阳县| 合江县| 正定县| 金湖县| 内乡县| 洞口县| 内江市| 江达县| 乐都县| 牟定县| 淳化县| 梅州市| 四川省| 古蔺县| 高要市| 全椒县| 苏尼特左旗| 自治县| 遵义市| 邢台县| 博白县| 白沙|