2

可能重复:
如何使用 R 创建分组条形图

Species      Dbh   Height
1       DF 383.7143 254.3036
2       ES 403.3333 280.0000
3        F 372.0000 270.0000
4       FG 381.5000 275.0000
5       GF 351.5838 242.6522
6       HW 209.0000 198.0000
7       LP 232.8571 218.3333
8       PP 568.5000 330.0000
9       SF 136.4286 154.1000
10      WC 375.0757 234.8777
11      WL 340.0588 252.5714
12      WP 319.7273 251.3939

我想把上面的数据变成这样的条形图。物种作为箱,dbh 和高度作为每个箱的条。

图形

我使用了代码:

aggregate(ufc[,4:5],ufc[3],mean,na.rm=TRUE)

得到上述数据集

使用此代码一次只能获取一个变量:

barplot(ufc.means$Height, col=rainbow(20), 
                            names.arg=(ufc.means$Species), las=2,main="Height")
4

1 回答 1

11

首先,不要重复发布!如有必要,请编辑您以前的问题,而不是发布新问题。

其次,您在之前的帖子中提到的错误消息是不言自明的。这是错误消息:

barplot.default(ufc.means, col = rainbow(20), names.arg = (ufc.means$Species), 中的错误:'height' 必须是向量或矩阵

仔细阅读最后一部分:'height' must be a vector or a matrix,但您正在尝试使用data.frame. 因此,解决方案很简单:data.frame在使用barplot.

假设你data.frame的名字是“mydf”:

mymat <- t(mydf[-1])
colnames(mymat) <- mydf[, 1]
barplot(mymat, beside = TRUE)

结果:

在此处输入图像描述

于 2013-01-27T05:11:37.950 回答