[R] Label

Jim Lemon drj|m|emon @end|ng |rom gm@||@com
Fri Apr 3 23:36:25 CEST 2020


Hi Val,
A good suggestion. The revised code is below and it will be in the
next version of plotrix.

barlabels<-function(xpos,ypos,labels=NULL,cex=1,prop=0.5,miny=0,offset=0,
 nobox=FALSE,...) {

 if(is.data.frame(ypos)) ypos<-as.matrix(ypos)
 if(is.null(labels)) labels<-ypos
 # usually don't want to display zero labels
 display<-ypos > miny
 if(is.matrix(ypos)) {
  # prop is within the scope of the current environment
  cumcenter<-function(x,pos) return(cumsum(x)-x*prop)
  stacked<-length(xpos) < length(ypos)
  if(stacked) {
   # replicate the x positions one by one, but the offsets group by group
   xpos<-rep(xpos,each=length(ypos)/length(xpos))+
    rep(c(-offset,offset),length(ypos)/(2*length(xpos)))
   ypos<-apply(ypos,2,cumcenter)
  }
  else ypos<-ypos*prop
 }
 else ypos<-ypos*prop
 # allow labels to extend beyond the plot area
 par(xpd=TRUE)
 if(nobox) text(xpos[display],ypos[display],labels[display],cex=cex,...)
 else boxed.labels(xpos[display],ypos[display],labels[display],cex=cex,...)
 par(xpd=FALSE)
}

Just set "nobox" to TRUE. You can add a "col=" argument at the end and
it will be passed to "text".

Jim

On Sat, Apr 4, 2020 at 5:20 AM Val <valkremk using gmail.com> wrote:
>
> Thank you Jim,
>
> Is it possible to format the label box? The labels(numbers) are
> surrounded by a big square and wanted to remove it. I just want
> display only the number.  I searched up the documentation  for
> "barlabels" and there is no such example
>
> barlabels(xpos,ypos,labels=NULL,cex=1,prop=0.5,miny=0,offset=0,...)
>
> Thank you.
>
> On Thu, Apr 2, 2020 at 9:38 PM Jim Lemon <drjimlemon using gmail.com> wrote:
> >
> > Hi Val,
> >
> > library(plotrix)
> > barpos<-barplot(dat$count, names.arg=c("A", "B", "C","D"),
> >          col="blue",
> >          ylim = c(0,30),
> >          ylab = "Count",
> >          xlab = "Grade")
> > barlabels(barpos,dat$count,prop=1)
> >
> > Jim
> >
> > On Fri, Apr 3, 2020 at 1:31 PM Val <valkremk using gmail.com> wrote:
> > >
> > > Hi all,
> > >
> > > I have a sample of data set,
> > >
> > > dat <- read.table(header=TRUE, text='Lab count
> > > A 24
> > > B 19
> > > C 30
> > > D 18')
> > >
> > > barplot(dat$count, names.arg=c("A", "B", "C","D"),
> > >         col="blue",
> > >         ylim = c(0,30),
> > >         ylab = "Count",
> > >         xlab = "Grade")
> > >
> > > I want add the number of counts at the top of each bar plot. How can I do that?
> > > Thank you in advance
> > >
> > > ______________________________________________
> > > R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > > https://stat.ethz.ch/mailman/listinfo/r-help
> > > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> > > and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list