par(mfrow = c(1,1))
#布局
barplot(phylum_mean_1,col=brewer.pal(24,”Set3”),legend=rownames(phylum_mean_1),ylab=”丰度”,xlab=”样品”,ylim=c(0,1),cex.names=1,font.name=4,args.legend=list(x=”topleft”),beside=FALSE)

head(phylum_mean_1) N1 N1_C N1_H N2 N2_C N2_H N2_N N2_S N3 Unclassified 0.0001492389 0.0008079559 0.004279011 0.0004752852 0.0008471334 0.004838739 0.0004898234 0.001915038 0.004848794 Crenarchaeota 0.0069147349 0.0107058352 0.022171934 0.0108636611 0.0171681150 0.024667197 0.0141085901 0.017358337 0.018119178 Euryarchaeota 0.0100984977 0.0378446926 0.634637152 0.0313688213 0.1143049407 0.586510439 0.0958018354 0.169308054 0.215005742 unclassfiedBacteria 0.0292010745 0.0355933991 0.036459839 0.0370043455 0.0508724107 0.033924352 0.1372613553 0.140116813 0.034069159 Acidobacteria 0.0165655159 0.0189820147 0.011474417 0.0184003259 0.0175028693 0.011720870 0.0178675654 0.022302542 0.016205181 Actinobacteria 0.0364640334 0.0411692344 0.017599969 0.0393128734 0.0310399246 0.018724208 0.0325926253 0.027101343 0.026285568

args.legend = list(title = “SES”, x = “topright”, cex = .7)来调节图标的位置
#legend为图标,这里的图标为每一行的名字,也就是下图的第一列;legend.text = citysales$City, #用城市名做标注
#beside默认的是FALSE,堆砌条形图,如果是beside=TRUE,就是将这些每个样品的每个变量分开来列出。

col=brewer.pal(24,”Set3”),颜色用的是library(RColorBrewer)包,具体颜色说明可以参见之前的博客

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, …)
density:底纹的密度。默认值为NULL。
angle:设置底纹的斜率。
xlim和ylim:设置图形x轴与y轴的范围。
xlab和ylab:设置x轴与y轴的lable。
axes:逻辑参数。设置图形是否显示x轴或y轴。
las:与axes参数相对应,表示坐标轴label的方向(0和1)
plot:逻辑参数。设置是否显示条形图。
beside:逻辑参数。如果FALSE,那么将绘画堆叠式的条形;如果是TRUE,将绘画并列式条形。
cex.axis:设置坐标轴数值的膨胀率。比如cex.axis=1.5。
cex.axis表示修改坐标轴刻度字体大小,cex.lab表示修改坐标轴名称字体大小,cex.main表示修改标题字体大小
cex.names:设置条形标签(bar labels)的膨胀率。比如cex.axis=1.5.
col:设置条形底纹或者填充颜色。
border:设置条形边缘颜色。如果设置为NA,则消除了边缘。
width:设置条形的宽度。
axis.lty:设置x轴的类型(类似lty)。默认axis.lty=0.
names.arg:设置条形标签(bar labels)。
horiz:逻辑参数。设置图形是水平或是垂直。
space:设置各个条形间的宽度。相当于各个条形宽度的一部分。
axisnames:逻辑参数。设置是否显示条形标签。

图例函数legend()主要参数解释:
legend(x, y = NULL, legend, fill = NULL, col = par(“col”),
border=”black”, lty, lwd, pch,
angle = 45, density = NULL, bty = “o”, bg = par(“bg”),
box.lwd = par(“lwd”), box.lty = par(“lty”), box.col = par(“fg”),
pt.bg = NA, cex = 1, pt.cex = cex, pt.lwd = lwd,
xjust = 0, yjust = 1, x.intersp = 1, y.intersp = 1,
adj = c(0, 0.5), text.width = NULL, text.col = par(“col”),
merge = do.lines && has.pch, trace = FALSE,
plot = TRUE, ncol = 1, horiz = FALSE, title = NULL,
inset = 0, xpd, title.col = text.col)
x和y:设置图例在图片上的位置。
title:设置图例标题。(在图例盒子里)。
title.col:设置图例标题的颜色。
text.col: 设置图例中文本文字的颜色。比如说:text.col=’red’。
text.width: 设置图例文本文字的宽度。宽度比例与x轴相关。
trace:逻辑参数。如果设置为TRUE,那么显示出函数计算过程。
fill: 设置一个填充了指定颜色的盒子放在文本旁边。
border:指定该盒子的边缘颜色。
lty与lwd:设置图例中线条的类型以及粗细。
density与angle:设置图例中小盒子的底纹密度和角度。
bty:设置图例盒子的类型。只能选择o或者n。
bg:设置图例盒子的背景颜色。
box.lty/box.lwd/box.col:设置图例盒子边缘线类型,粗细,颜色。
pt.bg:设置图例中点的背景颜色。
pt.cex:设置点的膨胀率。
pt.lwd:设置点的边缘线的粗细。
xjust与yjust:上下调整图例的位置。
x.intersp与y.intersp:设置图例盒子空间大小。
ncol:设置图例显示的列数。
horiz:设置水平方式显示图例。默认为垂直方式显示

报错:
barplot.default(): ‘height”要么是向量,要么是矩阵。
我看了一下,这个数据是对的,所以就把数据直接phylum_mean_1<-data.matrix(phylum_mean_1)
Ps:
从上面这张图,我们可以因为列中的变量太多,图标太大,把图给压住了,有没有什么办法调整这个位置呢,我后来反正用的是PS来截图的

坐标名字太长怎么办?
物种的名字这样来作为横坐标,他的名字很长,往往需要立起来,
par(mar=(18,3,2,1));
barplot(aa,las=3)

axis(1,labels=month,at=1:31,las=3) 1是你要对x轴作修改,labels就是你要打的内容,at就是你要多少个刻度(这里只能是1到31),las是这些刻度的显示形式,3就是竖着