我创建了一个条形图,但两个数据集中的条形图相互叠加。我想知道是否有人可以帮我分开两个数据集的条形,这样它们并排而不是重叠。 x轴的两个类别完全相同。这是我的代码:
h.length.category <- sabdata.dat[,"H_Length_Category"]
h.length.sum <- sabdata.dat[,"H_Length_Sum"]
v.length.category <- sabdata.dat[,"V_Length_Category"]
v.length.sum <- sabdata.dat[,"V_Length_Sum"]
hum.len <- tapply(h.length.sum, list(h.length.category), sum)
ven.len <- tapply(v.length.sum, list(v.length.category), sum)
barplot(hum.len, ylim = c(0,80), las = 2, xlab = "Length (mm)", ylab = "Number of individuals", col = "dark grey")
par(new=T)
barplot(ven.len, ylim = c(0,80), las = 2, xlab = "", ylab = "", axes = F, col = "light grey")
par(new=F)
这是数据的一个子集:
H_Length_Category H_Length_Sum V_Length_Category V_Length_Sum
08-09.9 0 08-09.9 1
10-11.9 0 10-11.9 10
12-13.9 3 12-13.9 31
14-15.9 12 14-15.9 58
16-17.9 30 16-17.9 66
18-19.9 35 18-19.9 77
20-21.9 62 20-21.9 64
22-23.9 63 22-23.9 41
答案 0 :(得分:1)
我认为正在发生的事情 - 没有看到你的数据 - 是你试图在同一组轴上叠加两个不同的图。因此,您将掩盖首先绘制的内容:
#make up some data
x <- c(10, 11, 12, 16)
y <- c(9, 12, 10, 13)
barplot(x)
barplot(y, col = "yellow", add = T) #The add statement is effectively the same as what you coded above
但是,如果您的所有数据都在一个矩阵中,
dF <- as.matrix(cbind(x, y))
barplot(dF, beside = T)
结果可能更接近您所寻找的内容。根据您的数据以及您希望如何呈现它,您可能必须确定矩阵的格式,以显示您想要显示的内容。