本文首發(fā)于“生信補(bǔ)給站”公眾號,,https://mp.weixin.qq.com/s/kKQ2670FBiDqVCMuLBL9NQ 更多關(guān)于R語言,,ggplot2繪圖,,生信分析的內(nèi)容,敬請關(guān)注小號,。
介紹一個主要用于繪制動畫的ggplot2的擴(kuò)展包---gganimate包,。 Hans Rosling的關(guān)于“New Insights on Poverty”的TED演講絕對是對我影響最大的幾個TED之一,,原來數(shù)據(jù)可以這樣展示,,,可視化可以這樣炫,,,故事可以這樣講... 下面嘗試使用 gganimate 包和 gapminder 數(shù)據(jù)集,實(shí)現(xiàn)類似可視化過程,。 一 加載R包,,數(shù)據(jù)#R包安裝 install.packages("devtools") library(devtools) install_github("thomasp85/gganimate") install.packages("gapminder") #加載 library(gganimate) library(gapminder) #查看數(shù)據(jù) head(gapminder) # A tibble: 6 x 6 country continent year lifeExp pop gdpPercap <fct> <fct> <int> <dbl> <int> <dbl> 1 Afghanistan Asia 1952 28.8 8425333 779. 2 Afghanistan Asia 1957 30.3 9240934 821. 3 Afghanistan Asia 1962 32.0 10267083 853. 4 Afghanistan Asia 1967 34.0 11537966 836. 5 Afghanistan Asia 1972 36.1 13079460 740. 6 Afghanistan Asia 1977 38.4 14880372 786. 數(shù)據(jù)集包括全球主要國家在1952-2007年的人均GDP增長,、預(yù)期壽命以及人口增長的數(shù)據(jù) ,。 二 ggplot2繪制使用ggplot2繪制theme_set(theme_bw()) p <- ggplot(gapminder, aes(x = gdpPercap, y=lifeExp, size = pop, colour = country)) + geom_point(show.legend = FALSE, alpha = 0.7) + scale_color_viridis_d() + scale_size(range = c(2, 12)) + scale_x_log10() + labs(x = "GDP per capita", y = "Life expectancy") p
三 gganimate 動態(tài)1. transition_time() 核心函數(shù),,添加動態(tài)p + transition_time(year) + labs(title = "Year: {frame_time}") 2 按需設(shè)置1)添加小尾巴 p + transition_time(year) + labs(title = "Year: {frame_time}") + shadow_wake(wake_length = 0.1, alpha = FALSE)
2)原數(shù)據(jù)做背景 p + transition_time(year) + labs(title = "Year: {frame_time}") + shadow_mark(alpha = 0.3, size = 0.5)
參考資料 https://www./en/blog/gganimate-how-to-create-plots-with-beautiful-animation-in-r/ TED:https://www./talks/hans_rosling_the_best_stats_you_ve_ever_seen?language=zh-TW ◆ ◆ ◆ ◆ ◆ 精心整理(含圖版)|你要的全拿走,!有備無患 (R統(tǒng)計(jì),ggplot2繪圖,,生信圖形可視化匯總) 【覺得不錯,,右下角點(diǎn)個“在看”,期待您的轉(zhuǎn)發(fā),,謝謝!】
|