Re: [R] ggplot - Setting the y-scale in a bar plot

From: Pedro de Barros <pbarros_at_ualg.pt>
Date: Thu, 13 Dec 2007 12:09:11 +0000

Hi Hadley,

Thanks for the help.

I found the problem. In the code you sent me earlier to correct the scale_y_continuous, (below) the parameter is "limits", rather than "limit", as you write it. If I run my code without introducing the change you sent me, it works, but if I first correct it, then I have to use the changed spelling.

Thanks again,
Pedro
PS: If you care to explain: why do all parameters in the code below have a "." before the name, except precisely "limits"? I know it has to do with "proto", but could not find out why this one was different.



[...] The fix will be included in the next version of ggplot, or you can fix the current version by running this code:

ScaleContinuous$new <- function(., name=NULL, limits=c(NA,NA), breaks=NULL, labels=NULL, variable, trans="identity", expand=c(0.05, 0)) {

     if (is.null(breaks) && !is.null(labels)) stop("Labels can only be specified in conjunction with breaks")

     .$proto(name=name, .input=variable, .output=variable, limits=limits, .breaks = breaks, .labels = labels, .expand=expand)

   }



At 23:01 2007/12/11, you wrote:
>Hi Pedro,
>
>It seems to work for me:
>
>qplot(mpg, wt, data=mtcars)
>qplot(mpg, wt, data=mtcars) + scale_y_continuous(limit=c(4,5))
>
>Maybe I don't understand what you're trying to do.
>
>Hadley
>
>On 12/11/07, Pedro de Barros <pbarros_at_ualg.pt> wrote:
> > Hi Hadley,
> >
> > Well, the problem seems to be that ggplot is not recognizing the
> > scale when set by scale_y_continuous, the maximum value stays exactly
> > at the data range, irrespective of what I provide as range.
> > I am not familiar yet with proto, therefore I do have some difficulty
> > delving into the code to find out exactly what is wrong, but I hope
> > you can tell if I am doing something pretty stupid, or f it is a
> > feature or a bug...
> >
> > Cheers,
> > Pedro
> > At 21:15 2007/12/11, you wrote:
> > >Hi Pedro,
> > >
> > >What's the problem exactly? You'll need to compute the range
> > >yourself, and then use scale_y_continuous as you have below.
> > >
> > >(Also you can abbreviate the bar chart plotting command to:
> > >qplot(x, y, data=plotdata, geom="bar", stat="identity"))
> > >
> > >Hadley
> > >
> > >On 12/11/07, Pedro de Barros <pbarros_at_ualg.pt> wrote:
> > > > Dear All (probably Hadley),
> > > >
> > > > I am now trying to customise some plots using a bar geom.
> > > >
> > > > I do not want to use the default binning statistic, but rather
> > > > calculate the bar heigths separately. I do manage this, but for
> > > > comparison purposes I would like to have a set of plots all with the
> > > > same y-axis height. But I do not seem to find out how to fix the
> > > > scale of the y-axis in this case.
> > > > Any tips?
> > > > Using R 2.6.1 on Windows.
> > > >
> > > > Thanks for any help,
> > > > Pedro
> > > >
> > > > I attach below the code I am using:
> > > > plotdata<-data.frame(x=factor(2:8), y=0.1*(2:8))
> > > > plot1<-ggplot()
> > > > plot1<-plot1+layer(data=plotdata,
> > > > mapping=aes_string(x='x',y='y'),geom='bar', stat='identity')
> > > >
> > > > RangeY <-c(0,1)
> > > > YBreaks <- (0:10)*diff(RangeY)/10
> > > > YTickLabels<- as.character(YBreaks)
> > > >
> > > > plot2 <- plot1 + scale_y_continuous(limits=RangeY, breaks=YBreaks,
> > > > labels=YTickLabels, expand=c(0,0))
> > > > print(plot2)
> > > >
> > > > ______________________________________________
> > > > R-help_at_r-project.org mailing list
> > > > 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.
> > > >
> > >
> > >
> > >--
> > >http://had.co.nz/
> >
> >
>
>
>--
>http://had.co.nz/


R-help_at_r-project.org mailing list
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. Received on Thu 13 Dec 2007 - 12:12:22 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 13 Dec 2007 - 15:30:19 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.