[R] Horizontal grid in background of barplot

Jim Lemon jim at bitwrit.com.au
Tue Sep 4 12:19:52 CEST 2012


On 09/04/2012 05:12 AM, David Arnold wrote:
> All,
>
> I have:
>
> x<- matrix(c(22,3,6,69,9,4,7,81,23,4,22,50),nrow=3,byrow=TRUE)
> rownames(x)<- c("Cold or flu","Headache","Backache");
> colnames(x)<- c("Went to doctor","No response","Did
> nothing","Self-medicated")
> x<- t(x)
> print(x)
> barplot(x,beside=TRUE,
>          ylim=c(0,90),
>          xlab="Ailment",
>          ylab="Percent",
>          legend.text=TRUE,
>          args.legend=list("topright",title="Treatment"))
> abline(h=c(seq(10,90,10)))
> box()
>
>   I'd like to get the horizontal lines in the background.
>
> Any suggestions?

Hi David,
Try this:

library(plotrix)
barp(x,col=gray(c(0.2,0.4,0.6,0.8)),names.arg=colnames(x),
  xlab="Ailment",ylab="Percent",ylim=c(0,90),
  do.first=expression(abline(h=seq(10,80,10))))
legend(2.5,85,rownames(x),fill=gray(c(0.2,0.4,0.6,0.8)),
  bg="white")

Jim




More information about the R-help mailing list