我正在尝试将名称添加到条形图的列中...每组中有2个条形图,它们将共享相同的名称..
我使用的代码如下:
l<-c(.6286, .2212, .9961, .5831, .8703, .6990, .9952, .9948)
r<-c(.2721, .5663, .0, .3961, .0696, .1180, .0, .0)
tab<-rbind(l,r)
plot<-barplot(tab, beside=TRUE, axisnames=FALSE, main = 'Time Spent Left vs. Right', sub = 'Female 2c', xlab= 'Days After Entry', ylab = 'Proportion of Time Spent', col=c('blue', 'red'), ylim = c(0,1))
legend('topleft', .8, c('Left' , 'Right'), pch=c(.8), col=c('blue', 'red'))
names.arg = jd2c$d.in.p
names.arg=c(3,4,5,6,6,7,10,11) #listed for informational purposes, same as jd2c$d.in.p
jd2c $ d.in.p也在上面列出..由于某种原因,names.arg函数似乎没有做我期望的事情。即使我把它放在条形图()函数的括号内..
我做错了什么?
谢谢!
答案 0 :(得分:1)
使用您的数据并正确设置names.arg
和axisnames=TRUE
,我得到了合理的结果。我调整了其他一些东西(设置las=1
以使轴标签水平,在图例中使用fill
而不是col
,摆脱pch=0.8
)。
par(las=1)
bnames <- c(3,4,5,6,6,7,10,11) #listed for informational purposes, same as jd2c$
plot<-barplot(tab, beside=TRUE, axisnames=TRUE,
main = 'Time Spent Left vs. Right',
sub = 'Female 2c', xlab= 'Days After Entry',
ylab = 'Proportion of Time Spent',
col=c('blue', 'red'), ylim = c(0,1),
names.arg=bnames)
legend('topleft', cex=1, c('Left' , 'Right'), fill=c('blue', 'red'))
答案 1 :(得分:1)
您将names.arg
定义为barplot
函数的参数,但作为一个完全独立的变量 - 它位于括号之外。这样:
plot<-barplot(tab, beside=TRUE, axisnames=FALSE, main = 'Time Spent Left vs. Right', sub = 'Female 2c', xlab= 'Days After Entry', ylab = 'Proportion of Time Spent', col=c('blue', 'red'), ylim = c(0,1))
legend('topleft', .8, c('Left' , 'Right'), pch=c(.8), col=c('blue', 'red'))
names.arg = jd2c$d.in.p
应该是:
plot<-barplot(tab, beside=TRUE, axisnames=FALSE, main = 'Time Spent Left vs. Right', sub = 'Female 2c', xlab= 'Days After Entry', ylab = 'Proportion of Time Spent', col=c('blue', 'red'), ylim = c(0,1), names.arg = jd2c$d.in.p)
legend('topleft', .8, c('Left' , 'Right'), pch=c(.8), col=c('blue', 'red'))
您还必须设置axisnames=TRUE
才能显示名称。