R 使用条形图将x轴分组

R 使用条形图将x轴分组,r,bar-chart,R,Bar Chart,这是我的数据(data.txt): 这是我的代码: data = read.table("C:/Users/Irwan/Desktop/graph_plot/data.txt", header = TRUE, sep = "\t", row.names = 1) attach(data) column = colnames(data) rows = rownames(data) x = barplot(as.matrix(data), xaxt = "n", beside = TRUE,

这是我的数据(data.txt):

这是我的代码:

data =  read.table("C:/Users/Irwan/Desktop/graph_plot/data.txt", header = TRUE, sep = "\t", row.names = 1)

attach(data)

column = colnames(data)
rows = rownames(data)

x = barplot(as.matrix(data), xaxt = "n", beside = TRUE, legend = rows, ylim = c(0, 50), density = c(30,30,30,30,70,100), angle = c(0,45,90,135,0,0))

label = as.vector(column)

text(x = x + 1.20, y = -1.25, xpd = TRUE, cex = 0.6, srt = 90, label, pos = 2)
不幸的是,我无法正确分组x轴标签

我已经尝试了很多解决方案,这就是我目前得到的结果。有谁能指导我如何将每6个小节的结果分组(例如:前6个小节为S1)。请记住,我的R不是很好,我只能使用预装的R软件包,因为我无法安装任何新的软件包由于未知的原因。多谢各位

更新

我对我的代码做了一点修改,以便可以很容易地复制。我的新代码:

y = matrix (1:15, ncol = 5)

x = barplot(as.matrix(y), xaxt = "n", beside = TRUE, legend = c("T1","T2","T3"), ylim = c(0,30), density = c(30,30,30), angle = c(0,45,90))

label = rep(c("S1","S2","S3","S4","S5"), each = 3)

text(x = x + 0.4, y = -1.25, xpd = TRUE, cex = 0.6, srt = 90, label, pos = 2)

如果我没有看错,请将标签替换为:

label = rep(column,each=6)
应提供所需的结果

编辑

如果每组只需要一个标签

label = as.vector(rbind("",paste("S",1:5,sep=""),""))

你能让它很容易重复吗?谢谢这个解决方案,但它在每个条形字符中显示相同的标签。每个组只能显示一个标签吗?(例如:S1代表前3根钢筋,S2代表后3根钢筋。不是S1、S1、S1代表前3根钢筋,S2、S2代表后3根钢筋)。对不起,如果我不能很好地想象它。好的,我想我明白了。将标签视为15个字符串的序列(每个条一个),需要填充一些内容。如果我们创建这个序列,使每个其他元素都是一个空字符串
将不会为这些条打印标签,并且每个条将有一个标签。以上答案经过编辑以反映这一点。
label = as.vector(rbind("",paste("S",1:5,sep=""),""))