library(ggplot2)
library(reshape2)
############################################
#畫箱式圖,這里我畫的是基因表達樣本的箱線圖,首先導入數(shù)據(jù),將數(shù)據(jù)調(diào)成行是基因名,縱是樣本名,數(shù)據(jù)為各個基因在樣本中的表達量
count = read.table("genecount.txt",header = T)
rownames(count) = count[,1]
count = count[-1]
#去掉在所有樣本中表達量為0的基因
count = count[which(rowSums(count)>0),]
#melt函數(shù)是對數(shù)據(jù)框進行轉化,variable.name和value.name是設置轉化后的列名,具體效果建議實操看一下
count = melt(count,variable.name = "sample",value.name = "value")
# 取log2值讓數(shù)據(jù)更集中
count$value = log2(count$value+1)
#data是要畫圖的數(shù)據(jù),一個數(shù)據(jù)框,后面ase里的x和y分別代表畫圖時的橫坐標和縱坐標,fill=sample指按照樣本來填充顏色即不同的樣本使用不同的顏色
p <- ggplot(data = count,aes(x=sample,y=value,fill=sample))
#theme是給圖添加樣式,第一個是設置橫坐標的顯示形式,旋轉90度,即豎著顯示。后面兩個參數(shù)是設置橫縱坐標的名字
p1 <- p + geom_boxplot() + theme(axis.text.x = element_text(angle = 90)) + xlab(NULL) + ylab("log2(COUNT+1)")
p1
出來的結果是這樣的(坐標信息不方便讓大家看到,就遮掉了)
