[R] Problems with plotCI

Jim Lemon jim at bitwrit.com.au
Sat Jan 14 08:35:45 CET 2012


On 01/13/2012 11:09 PM, Lasse DSR-mail wrote:
> Got problems with plotCI (plotrix)
>
> I only want to plot the upper part of the error bar in my barplot
>
> I had the exact same commands working two months ago
>
> Now I wanted to change the legend and when I ran it again plotCI stopped
> working.
>
>
>
> To me it seems like there must some bug in R
>
>
>
>
>
>
>
> library(plotrix)
>
> library (graphics)
>
>
>
> x = matrix(c( 13.75516276,            3.944604404,      15.02280537,
>
>    80.27687015,    91.35282561,      81.8232087,
>
> 5.96796709,        3.625017815,      3.202591556), nrow=3,byrow=T)
>
> yx=matrix(c( 2.5,7.5,12.5,3.5,8.5,13.5,4.5,9.5,14.5), nrow=3,byrow=T)
>
> ste<-c(4.870993623,
> 1.139221564,2.70870722,5.789702998,2.770116512,5.4600946821,1.2926938771,1.2
> 881562951,1.996090108)
>
>
>
>
>
> w<-c("grey","light grey","white")
>
>
>
>
>
> r<-c("Leioproctus", "Lasioglossum","Bombus")
>
> barplot(x,ylab="Relative abundance (%, +SE)",
>
>     xlab="Land use",
>
>     col=c("grey","light grey","white"), beside=TRUE,
>
>     space=c(0,2),
>
>     ylim=c(0,107),cex.lab="1.3" )
>
> legend(x=3.5, y=108, box.lty=0, legend=r, fill=w)
>
>
>
> box(bty='l' )
>
> #original command, now not working #
>
> plotCI(x=yx,y=x,uiw=ste,liw=NA, pch=NA_integer_, col="black",
> lwd=1,add=TRUE)
>
>
>
> ## why is this following command working
>
> plotCI(x=yx,y=x,uiw=NA, liw=ste,pch=NA_integer_, col="black",
> lwd=1,add=TRUE)
>
>
Hi Lasse,
I can't help you immediately with plotCI, but I think I can get you out 
of trouble. When I wrote the dispersion function, I displayed an 
undefined dispersion (e.g. a variance with only one observation) as a 
line going off the plot. It is fairly simple to suppress this, as I have 
done in the attached revision, which will be in the next version of 
plotrix. I have added an argument "display.na" that is TRUE by default. 
If set to FALSE, NAs will not be displayed on the plot. The code below 
should do what you want.

library(plotrix)
source("dispersion.R")
xpos<-barp(x,ylab="Relative abundance (%, +SE)",xlab="Land use",
  col=c("grey","light grey","white"),ylim=c(0,107),names.arg=r)
dispersion(xpos,x,ulim=ste,llim=NA,display.na=FALSE)
legend(x=0.5, y=108, box.lty=0, legend=r, fill=w)

Jim


More information about the R-help mailing list