R語言繪圖多圖疊加和圖形分頁_第1頁
R語言繪圖多圖疊加和圖形分頁_第2頁
R語言繪圖多圖疊加和圖形分頁_第3頁
R語言繪圖多圖疊加和圖形分頁_第4頁
R語言繪圖多圖疊加和圖形分頁_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、R繪圖課程:多圖疊加與圖形分頁gaom在我們用R畫圖的時候常常碰到一種問題,就是我們簡簡單單一個對象的圖無法達(dá)到我們想要的結(jié)果。可能我們是一個對象但有多種展示,需要把多個圖放在一起。也可能我們要畫的是多個對象,但每個對象的圖其實(shí)都是并行的。前面一種情況我理解為是多圖疊加,即需要多張不同的圖拼湊到一張圖中。后面的情況我理解為是圖形分頁,即把類似的圖形有序的排列展示給大家看。今天我們討論的主題就是如何去解決上述的兩種情況。首先,我們針對第一種情況。其實(shí)第一種情況我們還是要劃分一下。多圖疊加,其中的疊是指我們的繪圖中兩張或多張不同的圖整合到一種圖中,共用一個坐標(biāo)軸。比如一張柱狀圖,一張曲線圖合并到一

2、張圖中。而其中的加則是指我們想合并的圖之間無法共用坐標(biāo)軸,我們只能在一張圖中劃分不同的區(qū)域加需要的多張圖放置進(jìn)去。光說不練假把式,今天我們就找?guī)讉€實(shí)例展示一下,讓大家看下我們?nèi)绻幚磉@種常見的問題。library("ggplot2")#這次主要是用ggplot來處理data<-read.table(file = "C:/Users/gaom/Desktop/R語言繪圖:多圖疊加和圖形分頁/test_data2.txt",header=F,stringsAsFactors=F,sep = "t")#因?yàn)槲募杏袛?shù)字也有字符,所以建

3、議加上stringsAsFactors=F。head(data)# V1 V2 V3 V4# 1 1 0.15415052 0.7645350 A# 2 2 0.09278940 0.7763482 A# 3 3 0.01666104 0.8422627 A# 4 4 0.01519319 0.7630589 A# 5 5 0.16605095 0.8263706 A# 6 6 0.13892152 0.7597543 Adim(data)# 1 48 4第一列是染色體名,第二列和第三列分別是兩種計(jì)算結(jié)果,具體意義暫時不予理會。第四列是染色體的區(qū)域,100000表示1到100000,20000

4、0表示100001到200000。我們大致知道數(shù)據(jù)結(jié)構(gòu)即可。下面我們開始畫圖p1<-ggplot(data)+geom_bar(aes(x=data$V1,y=data$V3,fill = data$V4,group = data$V4),position = "dodge",stat = "identity",colour = "black")+scale_x_continuous(breaks = 1:12)#加上position="dodge"后會每條染色體分成四個柱子,加上colour = "

5、;black",則每個柱子的邊框?yàn)楹谏1 上面已經(jīng)有對應(yīng)的柱狀圖了,下面再根據(jù)第一列和第三列畫點(diǎn)線圖。p2<-ggplot(data)+geom_line(aes(x=data$V1,y=data$V2,colour = data$V4)+scale_x_continuous(breaks = 1:12)#這里可以注意跟柱狀圖不一樣了,用的是colour,不是fill。p2分開的兩張圖我們都做好了,下面就是疊加了。首先我們看到這里的數(shù)據(jù)其實(shí)都是data,換句話說就是他們其實(shí)可以共用坐標(biāo)軸的。所以這種情況在ggplot當(dāng)中疊起來很容易。data,5="white&q

6、uot;p3<-ggplot(data)+geom_bar(aes(x=data$V1,y=data$V3,group = data$V4),fill = data$V5,position = "dodge",stat = "identity",colour = "black")+geom_line(aes(x=data$V1,y=data$V2,colour = data$V4)+scale_x_continuous(breaks = 1:12)#為了能看到線圖,所以這里把填充顏色改成了白色,這里大家注意一下fill的位置,跟

7、之前的fill運(yùn)用有些區(qū)別p3這里說完了疊,再說說加。下面我們就簡單的把上面兩張圖加到一張圖中。library("gridExtra")grid.arrange(p1,p2,ncol = 2,widths=c(1,1)#widths表示橫向兩圖的比例grid.arrange(p1,p2,nrow = 2,heights = c(1,2)#heights表示兩圖縱向的比例grid.arrange(p1,p2,p1,p2,ncol =2,nrow =2)#ncol和nrow表示圖形擺放方式grid.arrange(p1,p2,p1,p2,ncol =2,layout_matri

8、x = cbind(c(1,1,1), c(2,3,4)#layout_matrix中的1,2,3,4分別對應(yīng)前面四個對象 除了上述情況,相信大家還會碰到另外一種,比如上述四個圖拼在一起。而我們只有三個圖,可能右上角或左上角是空白的。這個怎么辦呢?kong<- ggplot()+geom_blank(aes(1,1)+ theme(plot.background = element_blank(), panel.grid.major = element_blank(), panel.grid.minor = element_blank(),panel.border = element_b

9、lank(), panel.background = element_blank(),axis.title.x = element_blank(), axis.title.y = element_blank(),axis.text.x = element_blank(), axis.text.y = element_blank(),axis.ticks = element_blank(), axis.line = element_blank()#這里其實(shí)就是建立了一個完全空白的圖片grid.arrange(p2,kong,p1,p2,ncol =2 ,nrow =2,widths = c(2,

10、1),heights = c(1,2)上述了這些就是一般常見的圖層疊加了。當(dāng)然,如果大家還想發(fā)散的話,可以再參考一些ggExtra這個包,你會發(fā)現(xiàn)更多樂趣。好了,除了剛才的疊加,下面我們再說說分頁。這方面在ggplot中就顯得很容易了。p4<-ggplot(data)+geom_bar(aes(x=data$V1,y=data$V3,fill = data$V4,group = data$V4),position = "dodge",stat = "identity",colour = "black")+scale_x_cont

11、inuous(breaks = 1:12)+facet_grid(V4)#這是根據(jù)分組來分頁的p4p5<-ggplot(data)+geom_bar(aes(x=data$V1,y=data$V3,fill = data$V4,group = data$V4),position = "dodge",stat = "identity",colour = "black")+scale_x_continuous(breaks = 1:12)+facet_wrap(V1,ncol = 3)#這個是根據(jù)染色體的,同時也能通過ncol和nrow來調(diào)控布局p5facet_grid相對facet_wrap而言可以應(yīng)用多個標(biāo)準(zhǔn)進(jìn)行分頁。但從布局角度個人覺得facet_wrap更好。p6<-ggplot(data)+geom_bar(aes(x=data$V1,y=data$V3,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論