日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

小白可上手,自制動(dòng)圖展示連續(xù)數(shù)據(jù)

 祥強(qiáng)6csdm0n3vs 2019-08-23

這是ggplot中十分可愛(ài)的一個(gè)擴(kuò)增包,目的只有一個(gè),就是讓你的圖動(dòng)起來(lái)!就是醬紫??!

gganimate擴(kuò)展了ggplot2實(shí)現(xiàn)的圖形語(yǔ)法,包括動(dòng)畫(huà)描述。它通過(guò)提供一系列新的語(yǔ)法類來(lái)實(shí)現(xiàn)這一點(diǎn),這些類可以添加到繪圖對(duì)象中,以便自定義它應(yīng)該如何隨時(shí)間變化。

下面是他的parameter:

transition_*()定義了數(shù)據(jù)應(yīng)該如何展開(kāi)以及它與時(shí)間的關(guān)系。
view_*()定義位置比例應(yīng)如何沿動(dòng)畫(huà)更改。
shadow_*()定義如何在給定的時(shí)間點(diǎn)呈現(xiàn)來(lái)自其他時(shí)間點(diǎn)的數(shù)據(jù)。
enter_*()/ exit_*()定義新數(shù)據(jù)應(yīng)如何顯示以及舊數(shù)據(jù)在動(dòng)畫(huà)過(guò)程中應(yīng)如何消失。
ease_aes()定義了在過(guò)渡期間應(yīng)該如何進(jìn)行過(guò)渡。

舉個(gè)栗子!

#安裝輔助包,該包有兩個(gè)版本,已經(jīng)更新為最新版本,老版本在未來(lái)將不再支持。install.packages('gganimate')

# 安裝開(kāi)發(fā)版
# install.packages('devtools')
# devtools::install_github('thomasp85/gganimate')
library(ggplot2)
library(gganimate)

ggplot(mtcars, aes(factor(cyl), mpg)) +
geom_boxplot() + geom_point() +
# Here comes the gganimate code
transition_states(
gear,
transition_length = 2,
state_length = 1
) +
enter_fade() +
exit_shrink() +
ease_aes('sine-in-out')

加載時(shí)間是比較長(zhǎng)的,需要耐心等待哈!

Yet Another Example

首先查看一下數(shù)據(jù)格式吧,Gapminder是關(guān)于預(yù)期壽命,人均國(guó)內(nèi)生產(chǎn)總值和國(guó)家人口的數(shù)據(jù)摘錄。

library(gapminder)
head(gapminder)#我們看一下數(shù)據(jù)格式

ggplot(gapminder, aes(gdpPercap, lifeExp, size = pop, colour = country)) +
#點(diǎn)的大小和顏色分別由pop和country決定;geom_point(alpha = 0.7, show.legend = FALSE) +
scale_colour_manual(values = country_colors) + #進(jìn)行數(shù)值之間的映射
scale_size(range = c(2, 12)) + #設(shè)置繪圖符號(hào)大小
scale_x_log10() + #連續(xù)數(shù)據(jù)位置的標(biāo)準(zhǔn)化
facet_wrap(~continent) + #按照continent進(jìn)行分類
# Here comes the gganimate specific bits
labs(title = 'Year: {frame_time}', x = 'GDP per capita', y = 'life expectancy') +
transition_time(year) +
ease_aes('linear')#指數(shù)據(jù)變化的狀態(tài),線性發(fā)展比較緩慢

哈哈哈,現(xiàn)在我們以腫瘤數(shù)據(jù)為例進(jìn)行演示一下:

我編了一組測(cè)試數(shù)據(jù),其中將腫瘤分為I,II,III型,IV型為control,然后分別顯示了再不同樣本中不同腫瘤分型下的部分基因的表達(dá)情況。

library(ggplot2)
library(gganimate)
#首先我們進(jìn)行數(shù)據(jù)的讀入

data <- 'subgroup,sample,gene,expression
I,Tumor,p53,12.725952
II,Tumor,p53,11.914176
III,Tumor,p53,12.315768
IV,Normal,p53,12.978894
I,Tumor,p53,11.93924
II,Tumor,p53,12.262185
III,Tumor,p53,11.538924
IV,Normal,p53,12.016589
I,Tumor,p53,12.302574
II,Tumor,p53,11.939233
III,Tumor,p53,12.803992
IV,Normal,p53,10.674506
I,Tumor,p53,12.569142
II,Tumor,p53,12.088496
III,Tumor,p53,9.971951
IV,Normal,p53,13.008554
I,Tumor,p53,12.804154
II,Tumor,p53,11.847107
III,Tumor,p53,12.081261
IV,Normal,p53,12.158431
I,Tumor,p53,11.096693
II,Tumor,p53,12.655811
III,Tumor,p53,11.509067
IV,Normal,p53,12.523573
I,Tumor,p53,11.3554
II,Tumor,p53,11.560566
III,Tumor,p53,10.969046
IV,Normal,p53,11.169892
I,Tumor,p53,12.884054
II,Tumor,p53,12.284268
III,Tumor,her2,9.575523
IV,Normal,her2,12.409381
I,Tumor,her2,12.114364
II,Tumor,her2,11.493997
III,Tumor,her2,10.987106
IV,Normal,her2,11.943991
I,Tumor,her2,11.171378
II,Tumor,her2,13.120248
III,Tumor,her2,12.628872
IV,Normal,her2,11.91914
I,Tumor,her2,12.36504
II,Tumor,her2,12.707354
III,Tumor,her2,12.54517
IV,Normal,her2,12.199749
I,Tumor,her2,13.184496
II,Tumor,her2,12.640412
III,Tumor,her2,12.716897
IV,Normal,her2,13.359091
I,Tumor,her2,11.760945
II,Tumor,her2,11.406367
III,Tumor,her2,11.984382
IV,Normal,her2,12.254977
I,Tumor,her2,11.579763
II,Tumor,her2,11.983042
III,Tumor,her2,12.566317
IV,Normal,her2,10.869331
I,Tumor,her2,10.910963
II,Tumor,her2,11.948207
III,Tumor,myc,12.363072
IV,Normal,myc,12.755182
I,Tumor,myc,11.922223
II,Tumor,myc,9.618839
III,Tumor,myc,12.693868
IV,Normal,myc,13.40685
I,Tumor,myc,11.871609
II,Tumor,myc,11.783704
III,Tumor,myc,12.485053
IV,Normal,myc,12.669123
I,Tumor,myc,11.653691
II,Tumor,myc,11.675768
III,Tumor,myc,12.744605
IV,Normal,myc,12.911619
I,Tumor,myc,12.008307
II,Tumor,myc,11.838161
III,Tumor,myc,12.590989
IV,Normal,myc,11.680278
I,Tumor,myc,11.719241
II,Tumor,myc,10.156746
III,Tumor,myc,11.84406
IV,Normal,myc,12.975393
I,Tumor,myc,10.963332
II,Tumor,myc,12.338216
III,Tumor,myc,12.030859
IV,Normal,myc,11.119114
I,Tumor,myc,12.661349
II,Tumor,myc,13.168166
III,Tumor,myc,11.707595
IV,Normal,myc,12.06719
I,Tumor,myc,12.463962
II,Tumor,myc,12.288819
III,Tumor,myc,12.036757
IV,Normal,myc,12.98055
I,Tumor,myc,11.343075
II,Tumor,myc,12.565481
III,Tumor,myc,12.279996
IV,Normal,myc,12.965189
I,Tumor,myc,12.946155
II,Tumor,myc,11.688462
III,Tumor,sox4,11.944477
IV,Normal,sox4,12.128177
I,Tumor,sox4,11.116105
II,Tumor,sox4,11.148871
III,Tumor,sox4,13.139244
IV,Normal,sox4,10.043207
I,Tumor,sox4,12.043914
II,Tumor,sox4,9.990576
III,Tumor,sox4,11.624263
IV,Normal,sox4,11.647402
I,Tumor,sox4,12.502176
II,Tumor,sox4,12.291812
III,Tumor,sox4,11.421913
IV,Normal,sox4,12.282511
I,Tumor,sox4,12.511991
II,Tumor,sox4,12.285322
III,Tumor,sox4,11.7884
IV,Normal,sox4,13.747552
I,Tumor,sox4,11.212993
II,Tumor,sox4,12.936845
III,Tumor,sox4,12.442484
IV,Normal,sox4,10.324288
I,Tumor,sox4,12.436421
II,Tumor,sox4,11.923122
III,Tumor,sox4,12.831474
IV,Normal,sox4,12.271537
I,Tumor,sox4,12.208086
II,Tumor,sox4,11.830799
III,Tumor,sox4,12.410238
IV,Normal,sox4,12.13912
I,Tumor,sox4,12.47'

test <- read.csv(text=data,header=T)
head(test)

library(ggplot2)
ggplot(test,aes(x=subgroup,y=expression,fill=subgroup))+
geom_boxplot()+
geom_jitter()+
theme_bw() #按照subgroup進(jìn)行分型,并畫(huà)出箱式圖

同樣對(duì)不同gene在各組中的分布情況進(jìn)行描述:

library(ggplot2)
p <- ggplot(test,aes(x=subgroup,y=expression,fill=subgroup))+
geom_boxplot()+
geom_jitter()+
theme_bw()
p +facet_grid(.~gene)#按照gene對(duì)各個(gè)小組進(jìn)行分類

library(ggplot2)
library(gganimate)
p <- ggplot(test,aes(x=subgroup,y=expression,fill=subgroup))+
geom_boxplot()+
geom_jitter()+
theme_bw()
p +transition_states(gene, state_length = 0)+
labs(title = '{closest_state} expression')

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多