library(ggplot2)
library(reshape2)
############################################
#画箱式图,这里我画的是基因表达样本的箱线图,首先导入数据,将数据调成行是基因名,纵是样本名,数据为各个基因在样本中的表达量
count = read.table("genecount.txt",header = T)
rownames(count) = count[,1]
count = count[-1]
#去掉在所有样本中表达量为0的基因
count = count[which(rowSums(count)>0),]
#melt函数是对数据框进行转化,variable.name和value.name是设置转化后的列名,具体效果建议实操看一下
count = melt(count,variable.name = "sample",value.name = "value")
# 取log2值让数据更集中
count$value = log2(count$value+1)
#data是要画图的数据,一个数据框,后面ase里的x和y分别代表画图时的横坐标和纵坐标,fill=sample指按照样本来填充颜色即不同的样本使用不同的颜色
p <- ggplot(data = count,aes(x=sample,y=value,fill=sample))
#theme是给图添加样式,第一个是设置横坐标的显示形式,旋转90度,即竖着显示。后面两个参数是设置横纵坐标的名字
p1 <- p + geom_boxplot() + theme(axis.text.x = element_text(angle = 90)) + xlab(NULL) + ylab("log2(COUNT+1)")
p1
出来的结果是这样的(坐标信息不方便让大家看到,就遮掉了)