barplot(height, width = 1, space = NULL,
names.arg = NULL, legend.text = NULL, beside = FALSE,
horiz = FALSE, density = NULL, angle = 45,
col = NULL, border = par("fg"),
main = NULL, sub = NULL, xlab = NULL, ylab = NULL,
xlim = NULL, ylim = NULL, xpd = TRUE, log = "",
axes = TRUE, axisnames = TRUE,
cex.axis = par("cex.axis"), cex.names = par("cex.axis"),
inside = TRUE, plot = TRUE, axis.lty = 0, offset = 0,
add = FALSE, args.legend = NULL, ...)
1.接受的数据(height参数):
a.height参数是vector,条形的height与vector的数据一致
b.1:height参数是matrix,beside=FALSE。matrix中的每列堆在一个条形上。
b.2:height参数是matrix,beside=TURE。matrix中的每列的每个数构成一个条形。
2.条形的方向(horiz)
horiz=F:默认选项,条形的方向是树直的。
horiz=T:条形的方向是水平的。
3.给条形图没数据的一边添加注释:用text()函数
text(x, y = NULL, labels = seq_along(x$x), adj = NULL,
pos = NULL, offset = 0.5, vfont = NULL,
cex = 1, col = NULL, font = NULL, ...)
text函数是根据具体的坐标位置给注释的。所以需要得到具体的坐标(x,y)。
labels是注释的内容vector。
pos是注释在坐标的位置(1下,2左,3上,4右)
srt旋转的角度
难点:如何准确获得需要的坐标位置:
用barplot函数作为x(horiz=F)或y(horiz=T)
data<-read.table('gene_chr',header=F)
barplot(data$V1,horiz=T,xlab="gene_number")
text(x=50000,y=barplot(data$V1,horiz=T,xlab="gene_number"),labels=data[,2])
参考:http://www.mamicode.com/info-detail-1774107.html