我试图制作带有分组条的条形图,但我有这个错误:
'高度'必须是向量或矩阵
我不知道为什么。我的代码是......
rebDef=sample(50:100,14,replace=F)
rebOf=sample(20:40, 14, replace=F)
rebTot=sample(70:140, 14, replace=F)
data=data.frame(rebDef,rebOf,rebTot)
v <- c("Equipo A", "Equipo B", "Equipo C", "Equipo D", "Equipo E", "Equipo F", "Equipo G", "Equipo H", "Equipo I", "Equipo J", "Equipo K", "Equipo M", "Equipo N", "Equipo O")
names <- data.frame(v)
rownames(data) <- names[, 1]
barplot(data, beside=T , legend.text=T, col=c("red" , "green", "blue"), ylim=c(0,140), ylab="height")
我的数据输入是......
structure(list(rebDef = c(93L, 59L, 80L, 58L, 71L, 70L, 83L,
77L, 99L, 52L, 84L, 98L, 100L, 86L), rebOf = c(20L, 38L, 32L,
35L, 36L, 29L, 30L, 26L, 39L, 22L, 25L, 28L, 23L, 33L), rebTot = c(99L,
105L, 107L, 72L, 118L, 87L, 115L, 88L, 85L, 131L, 137L, 84L,
126L, 136L)), .Names = c("rebDef", "rebOf", "rebTot"), row.names = c("Equipo A",
"Equipo B", "Equipo C", "Equipo D", "Equipo E", "Equipo F", "Equipo G",
"Equipo H", "Equipo I", "Equipo J", "Equipo K", "Equipo M", "Equipo N",
"Equipo O"), class = "data.frame")
最后,称为数据的数据框的内容是......
rebDef rebOf rebTot
Equipo A 93 20 99
Equipo B 59 38 105
Equipo C 80 32 107
Equipo D 58 35 72
Equipo E 71 36 118
Equipo F 70 29 87
Equipo G 83 30 115
Equipo H 77 26 88
Equipo I 99 39 85
Equipo J 52 22 131
Equipo K 84 25 137
Equipo M 98 28 84
Equipo N 100 23 126
Equipo O 86 33 136
我做错了什么?
答案 0 :(得分:3)
我认为问题可能是您尝试将DataFrame作为height参数传递。这应该只采用矢量或矩阵。你可以尝试这样的事情:
barplot(as.matrix(data), beside=T , legend.text=T, col=c("red" , "green",
"blue"), ylim=c(0,140), ylab="height")
希望这可以帮助你。