That did it. I just wanted the line names to be placed at the second to last
date tick mark. Later I'll write something that adjusts the labels if there
isn't room or if there is overlap.

Thanks!

On Sat, Jul 9, 2011 at 7:38 AM, Hadley Wickham <hadley@rice.edu> wrote:

> Maybe something like this?
>
> withNames <- function(dframe, lineNames, plotName, colors){
>   one_day <- subset(dframe, data == '1941-06-16')
>  one_day$lineNames <- lineNames
>
>  ggplot(dframe, aes(date, value, group = factor, color = factor)) +
>    geom_line(size = 1) +
>     facet_grid(Facet~., scales = 'free') +
>     geom_text(aes(label = lineNames), data = one_day, vjust = 1) +
>    scale_colour_manual(values = colors) +
>    opts(title = plotName)
> }
>
> withNames(data, plines, pTitle, col1)
>
> It's not at all clear how you expect the line names to be matched up
> to the lines though.
>
> Hadley
>
> On Fri, Jul 8, 2011 at 3:39 PM, Ben Hunter <bjameshunter@gmail.com> wrote:
> > Hi,
> >
> > I really feel I've looked everywhere, although I know this can't be a
> hard
> > problem. I'd like to be able to call the graph below as a function, but I
> > can't get the function to recognize variables beyond 'dframe'. I've read
> > through many papers on writing functions in R, but I can't get this to
> work.
> >
> > data <- data.frame('date' = as.Date(rep(c(15101,
> >            15108, 15115, 15122, 15129, 15136, 15143, 15150),4),
> >            origin = '1899-12-30'),
> >            'factor' = factor(rep(c('first','second'), each = 8, 2)),
> >            'value' = rep(c(429258, 430645, 431165, 431360, 452284,
> 467316,
> > 467326, 467330,
> >            375588, 411383, 427179, 364582, 351494, 359034, 374047,
> >            339628),2),
> >            'Facet' = rep(c('bottom','top'), each = 16))
> >
> > pTitle <- 'Main Title'
> > plines <- c('Line 1', 'Line 2','Line 3', 'Line 4')
> > col1 <- c('#ec421e', '#f7bd2e','#ec421e', '#f7bd2e')
> >
> > #If I use the line below and explicitly place plines, pTitle and col1 in
> the
> > appropriate places
> > #it will work fine. I want to use the line as written without the
> hashmark.
> > #simple <- function(dframe){
> >
> > withNames <- function(dframe, lineNames, plotName, colors){
> >    p <- ggplot(dframe, aes(date, value, group = factor, color = factor))
> >    p2 <- p + geom_line(size = 1)
> > #   + opts(title = plotName)
> >    p2 <- p2 + facet_grid(Facet~., scales = 'free') +
> > #    p2 <- p2 + geom_text(data = dframe[dframe[,'date'] ==
> '1941-06-16',],
> > #          aes(date, value, label = lineNames, vjust = 1)) +
> >          scale_colour_manual(values = colors)
> > }
> >
> > finalP <- withNames(data, plines, pTitle, col1)
> >
> > #finalP <- simple(data)
> >
> >        [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help@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.
> >
>
>
>
> --
> Assistant Professor / Dobelman Family Junior Chair
> Department of Statistics / Rice University
> http://had.co.nz/
>

	[[alternative HTML version deleted]]

