On Fri, Feb 18, 2011 at 11:04 PM, Elliot Joel Bernstein <elliot.bernst...@fdopartners.com> wrote: > I'm trying to use lattice graphics to produce some small plots for inclusion > in a LaTeX file. I want the LaTeX fonts to be used in the plots, but to be > scaled down to match the size of the plot. I have written the following code > to apply a scaling factor to all the "cex" and "padding" entries in the > trellis parameters, but there is still a large white space between the key > and the top of the plot area. Does anyone know how I can get rid of that (or > if I'm going about this all wrong and there's a much cleaner way)? > > ## ------ ## > ## test.R ## > ## ------ ## > > require(tikzDevice)
I have not (yet) used tikzDevice, so don't know what impact it will have, but in my experience with pdf(), it's usually more effective to create a larger file and then scale it when including it in the .tex file. -Deepayan > require(lattice) > > rescale.pars <- function(cex.factor = 0.5, > padding.factor = 0.25, > pars = trellis.par.get()) { > > result <- NULL > for (i in seq_along(pars)) { > > if (names(pars)[[i]] == "cex") { > > if (is.null(result)) { > result <- list() > } > result <- c(result, cex=cex.factor*pars[[i]]) > > } else if (grepl("padding$", names(pars)[[i]])) { > > if (is.null(result)) { > result <- list() > } > eval(parse(text=sprintf("result <- c(result, > %s=padding.factor*pars[[i]])", names(pars)[[i]]))) > > } else if (inherits(pars[[i]], "list")) { > > temp <- rescale.pars(cex.factor, padding.factor, pars[[i]]) > if (!is.null(temp)) { > result[[names(pars)[[i]]]] <- temp > } > > } > } > > return (result) > } > > x <- 1:100 > y <- cumsum(rnorm(length(x), 1, 10)) > z <- cumsum(rnorm(length(x), 1, 20)) > > tikz("test-plot.tex", width=2, height=2) > > xyplot(y + z ~ x, > main = "My Plot", > xlab = "x", > auto.key=list(text=c("Line 1", "Line 2"), points=FALSE, lines=TRUE), > grid = TRUE, > par.settings = rescale.pars()) > > dev.off() > > ## ---------- ## > ## END R CODE ## > ## ---------- ## > > Thanks. > > - Elliot > > ----------------------------- > Elliot Joel Bernstein, Ph.D. | Research Associate | FDO Partners, LLC > 134 Mount Auburn Street | Cambridge, MA | 02138 > Phone: (617) 503-4619 | Email: elliot.bernst...@fdopartners.com > > ______________________________________________ > 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. > ______________________________________________ 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.