




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第R語言學(xué)習(xí)之線圖的繪制詳解目錄線圖單線圖多線圖橫軸文本線圖
線圖
線圖是反映趨勢(shì)變化的一種方式,其輸入數(shù)據(jù)一般也是一個(gè)矩陣。
單線圖
假設(shè)有這么一個(gè)矩陣,第一列為轉(zhuǎn)錄起始位點(diǎn)及其上下游5kb的區(qū)域,第二列為H3K27ac修飾在這些區(qū)域的豐度,想繪制一張線圖展示。
profile="Pos;H3K27ac
-5000;8.7
-4000;8.4
-3000;8.3
-2000;7.2
-1000;3.6
0;3.6
1000;7.1
2000;8.2
3000;8.4
4000;8.5
5000;8.5"
讀入數(shù)據(jù)(經(jīng)過前面幾篇的聯(lián)系,這應(yīng)該都很熟了)
profile_text-read.table(text=profile,header=T,s=1,quote="",sep=";")
profile_text
H3K27ac
-5000
8.7
-4000
8.4
-3000
8.3
-2000
7.2
-1000
3.6
0
3.6
1000
7.1
2000
8.2
3000
8.4
4000
8.5
5000
8.5
#在melt時(shí)保留位置信息
#melt格式是ggplot2畫圖最喜歡的格式
#好好體會(huì)下這個(gè)格式,雖然多占用了不少空間,但是確實(shí)很方便
#這里可以用`xvariable`,也可以是其它字符串,但需要保證后面與這里的一致
#因?yàn)檫@一列是要在X軸顯示,所以起名為`xvariable`。
profile_text$xvariable=rownames(profile_text)
library(ggplot2)
library(reshape2)
data_m-melt(profile_text,id.vars=c("xvariable"))
data_m
xvariablevariablevalue
1
-5000
H3K27ac
8.7
2
-4000
H3K27ac
8.4
3
-3000
H3K27ac
8.3
4
-2000
H3K27ac
7.2
5
-1000
H3K27ac
3.6
6
0
H3K27ac
3.6
7
1000
H3K27ac
7.1
8
2000
H3K27ac
8.2
9
3000
H3K27ac
8.4
10
4000
H3K27ac
8.5
11
5000
H3K27ac
8.5
然后開始畫圖,與上面畫heatmap一樣。
#variable和value為矩陣melt后的兩列的名字,內(nèi)部變量,variable代表了點(diǎn)線的屬性,value代表對(duì)應(yīng)的值。
p-ggplot(data_m,aes(x=xvariable,y=value),color=variable)+geom_line()
#圖會(huì)存儲(chǔ)在當(dāng)前目錄的Rplots.pdf文件中,如果用Rstudio,可以不運(yùn)行dev.off()
dev.off()
滿心期待一個(gè)倒鐘形曲線,結(jié)果,
什么也沒有。
仔細(xì)看,出來一段提示
geom_path:Eachgroupconsistsofonlyoneobservation.
Doyouneedtoadjustthegroupaesthetic
原來默認(rèn)ggplot2把每個(gè)點(diǎn)都視作了一個(gè)分組,什么都沒畫出來。而data_m中的數(shù)據(jù)都來源于一個(gè)分組H3K27ac,分組的名字為variable,修改下腳本,看看效果。
p-ggplot(data_m,aes(x=xvariable,y=value,color=variable,group=variable))+
geom_line()+theme(legend.position=c(0.1,0.9))
dev.off()
圖出來了,一條線,看一眼沒問題;再仔細(xì)看,不對(duì)了,怎么還不是倒鐘形,原來橫坐標(biāo)錯(cuò)位了。
檢查下數(shù)據(jù)格式
summary(data_m)
xvariable
variable
Length:11
H3K27ac:11
Class:character
Mode
:character
問題來了,xvariable雖然看上去數(shù)字,但存儲(chǔ)的實(shí)際是字符串(因?yàn)槭亲鳛樾忻肿x取的),需要轉(zhuǎn)換為數(shù)字。
data_m$xvariable-as.numeric(data_m$xvariable)
#再檢驗(yàn)下
is.numeric(data_m$xvariable)
[1]TRUE
好了,繼續(xù)畫圖。
#注意斷行時(shí),加號(hào)在行尾,不能放在行首
p-ggplot(data_m,aes(x=xvariable,y=value,color=variable,group=variable))+
geom_line()+theme(legend.position=c(0.1,0.8))
dev.off()
圖終于出來了,調(diào)了下legend的位置,看上去有點(diǎn)意思了。
有點(diǎn)難看,如果平滑下,會(huì)不會(huì)好一些,stat_smooth可以對(duì)繪制的線進(jìn)行局部擬合。在不影響變化趨勢(shì)的情況下,可以使用(但慎用)。
p-ggplot(data_m,aes(x=xvariable,y=value,color=variable,group=variable))+
geom_line()+stat_smooth(method="auto",se=FALSE)+
theme(legend.position=c(0.1,0.8))
dev.off()
從圖中看,趨勢(shì)還是一致的,線條更優(yōu)美了。另外一個(gè)方式是增加區(qū)間的數(shù)量,線也會(huì)好些,而且更真實(shí)。
stat_smooth和geom_line各繪制了一條線,只保留一條就好。
p-ggplot(data_m,aes(x=xvariable,y=value,color=variable,group=variable))+
stat_smooth(method="auto",se=FALSE)+theme(legend.position=c(0.1,0.8))
dev.off()
好了,終于完成了單條線圖的繪制。
多線圖
那么再來一個(gè)多線圖的例子吧,只要給之前的數(shù)據(jù)矩陣多加幾列就好了。
profile="Pos;h3k27ac;ctcf;enhancer;h3k4me3;polII
-5000;8.7;10.7;11.7;10;8.3
-4000;8.4;10.8;11.8;9.8;7.8
-3000;8.3;10.5;12.2;9.4;7
-2000;7.2;10.9;12.7;8.4;4.8
-1000;3.6;8.5;12.8;4.8;1.3
0;3.6;8.5;13.4;5.2;1.5
1000;7.1;10.9;12.4;8.1;4.9
2000;8.2;10.7;12.4;9.5;7.7
3000;8.4;10.4;12;9.8;7.9
4000;8.5;10.6;11.7;9.7;8.2
5000;8.5;10.6;11.7;10;8.2"
profile_text-read.table(text=profile,header=T,s=1,quote="",sep=";")
profile_text$xvariable=rownames(profile_text)
data_m-melt(profile_text,id.vars=c("xvariable"))
data_m$xvariable-as.numeric(data_m$xvariable)
#這里group=variable,而不是group=1(如果上面你用的是1的話)
#variable和value為矩陣melt后的兩列的名字,內(nèi)部變量,variable代表了點(diǎn)線的屬性,value代表對(duì)應(yīng)的值。
p-ggplot(data_m,aes(x=xvariable,y=value,color=variable,group=variable))+
stat_smooth(method="auto",se=FALSE)+theme(legend.position=c(0.85,0.2))
dev.off()
橫軸文本線圖
如果橫軸是文本,又該怎么調(diào)整順序呢?還記得之前熱圖旁的行或列的順序調(diào)整嗎?重新設(shè)置變量的factor水平就可以控制其順序。
profile="Pos;h3k27ac;ctcf;enhancer;h3k4me3;polII
-5000;8.7;10.7;11.7;10;8.3
-4000;8.4;10.8;11.8;9.8;7.8
-3000;8.3;10.5;12.2;9.4;7
-2000;7.2;10.9;12.7;8.4;4.8
-1000;3.6;8.5;12.8;4.8;1.3
0;3.6;8.5;13.4;5.2;1.5
1000;7.1;10.9;12.4;8.1;4.9
2000;8.2;10.7;12.4;9.5;7.7
3000;8.4;10.4;12;9.8;7.9
4000;8.5;10.6;11.7;9.7;8.2
5000;8.5;10.6;11.7;10;8.2"
profile_text-read.table(text=profile,header=T,s=1,quote="",sep=";")
profile_text_rownames-s(profile_text)
profile_text$xvariable=rownames(profile_text)
data_m-melt(profile_text,id.vars=c("xvariable"))
#就是這一句,會(huì)經(jīng)常用到
data_m$xvariable-factor(data_m$xvariable,levels=profile_text_rownames,ordered=T)
#geom_line設(shè)置線的粗細(xì)和透明度
p-ggplot(data_m,aes(x=xvariable,y=value,color=variable,group=variable))+
geom_line(size=1,alpha=0.9)+theme(legend.position=c(0.85,0.2))+
theme(axis.text.x=element_text(angle=45,hjust=1,vjust=1))
#stat_smooth
#p-ggplot(data_m,aes(x=xvariable,y=value,color=variable,group=variable))+
#
stat_smooth(method="auto",se=FALSE)+theme(legend.position=c(0.85,0.2))+
#
theme(axis.te
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年衛(wèi)生資格(中初級(jí))-中醫(yī)婦科學(xué)主治醫(yī)師歷年參考題庫含答案解析(5套典型題)
- 2025年醫(yī)藥衛(wèi)生考試-等級(jí)醫(yī)院評(píng)審知識(shí)考試歷年參考題庫含答案解析(5套典型題)
- 2025年醫(yī)學(xué)高級(jí)職稱-臨床醫(yī)學(xué)檢驗(yàn)臨床免疫技術(shù)(醫(yī)學(xué)高級(jí))歷年參考題庫含答案解析(5套典型題)
- 2025年會(huì)計(jì)職稱考試-社保帳戶管理兼基金會(huì)計(jì)崗位考試歷年參考題庫含答案解析(5套典型考題)
- 2025年專業(yè)技術(shù)人員繼續(xù)教育公需科目-信息技術(shù)與信息安全歷年參考題庫含答案解析(5套典型考題)
- 2023-2025年高考語文試題分類匯編:作文解析版
- 企業(yè)承接協(xié)議書
- 親子旅游協(xié)議書
- 亞馬遜股東協(xié)議書
- 乙方通訊協(xié)議書
- 特種設(shè)備安全管理-使用知識(shí)
- 難治性高血壓的治療策略
- 肝臟腫瘤的影像診斷及鑒別診斷講座演示文稿
- H35-462(5G中級(jí))認(rèn)證考試題庫(附答案)
- 2023年全科醫(yī)師轉(zhuǎn)崗培訓(xùn)理論考試試題及答案
- GB/T 17642-1998土工合成材料非織造復(fù)合土工膜
- 3C認(rèn)證全套體系文件(手冊(cè)+程序文件)
- 魚類繁殖與發(fā)育課件
- (完整)五金材料采購清單
- 政企業(yè)務(wù)認(rèn)知題庫V1
- 制造執(zhí)行系統(tǒng)的功能與實(shí)踐最新ppt課件(完整版)
評(píng)論
0/150
提交評(píng)論