[R] Why is R so slow at plotting on Ubuntu 9.04?
Thomas Harte
thomas.harte at yahoo.com
Sun Aug 23 03:40:45 CEST 2009
barry, thanks for the tip, which should really have been a "rtfm" now that i've read ?x11 ;-)
in my own utilities package i've defined a function:
`windows`<- function(width=7, height=7) x11("", width, height, type="nbcairo")
for compatibility with the evil empire's eponymous function.
using type="Xlib" leads to rather unimpressive 1970s, retro-looking
bitmap effects.
experimenting with type="cairo" and the antialiasing argument led me nowhere in particular but begs the question why "cairo" at all?
anyway, problem solved. sweave much happier.
chin chin,
thomas.
--- On Sat, 8/22/09, Barry Rowlingson <b.rowlingson at lancaster.ac.uk> wrote:
> From: Barry Rowlingson <b.rowlingson at lancaster.ac.uk>
> Subject: Re: [R] Why is R so slow at plotting on Ubuntu 9.04?
> To: thomas.harte at yahoo.com
> Cc: r-help at r-project.org
> Date: Saturday, August 22, 2009, 12:59 PM
> On Sat, Aug 22, 2009 at 5:52 PM,
> Thomas Harte<thomas.harte at yahoo.com>
> wrote:
> > under Ubuntu 9.04 R seems to be very slow at
> plotting.
> >
> > the example below illustrates with a plot of error
> bars of sample means
> > where i watch as each error bar is plotted one at a
> time. very annoying and pain in the neck when running Sweave
> repeatedly.
> >
> > running R 2.9.1 under Windoze on the same machine the
> error bars plotted in the code below appear
> instantaneously.
> >
> > has anyone else noticed this problem under Ubuntu
> 9.04?
> >
> > # make a load of means:
> > J<- 100
> > mu<- .02
> > sigma<- .04
> > set.seed(1)
> > y.bar<- rnorm(J, mean=mu, sd=sigma)
> >
> > # make a load of (fake) stds about the
> means:
> > n.j<- round(runif(J, min=10, max=100))
> > sigma.alpha<- sqrt(var(y.bar) / n.j)
> >
> > ylim<- range(c(y.bar-2*sigma.alpha,
> y.bar+2*sigma.alpha))
> > par(las=1)
> > plot(n.j, y.bar, cex.lab=.9, cex.axis=1,
> > xlab="sample size",
> > ylab="some stuff",
> > pch=20, log="x", cex=.5,
> ylim=ylim,
> > )
> > # HERE'S THE PROBLEM: ON UBUNTU R IS TAKING
> FOREVER TO PLOT THESE ERROR BARS
> > for (j in 1:J) {
> > lines(rep(n.j[j],2), y.bar[j] +
> c(-2,2)*sigma.alpha[j], lwd=1.25, col="darkgray")
> > }
> > abline(h=mu)
> > title("Why is R so slow at plotting these
> error bars on Ubuntu?", cex.main=1.2, line=1)
> >
> >
> > R version 2.9.1 (2009-06-26) i486-pc-linux-gnu
> > locale:
> LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=C;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=C
> >
> > attached base packages: [1] graphics grDevices utils
> datasets stats methods base
> >
> > other attached packages: [1] zoo_1.5-8 loaded via a
> namespace (and not attached): [1] grid_2.9.1
> lattice_0.17-25
>
> It might be the 'cairo' graphics engine. Try starting a
> graphics
> window with X11(type="Xlib") and see if that's quicker. The
> default is
> X11(type="cairo"), which is slower, but uses anti-aliasing
> to make
> better quality (some say 'blurry') bitmaps.
>
> You might also try the antialias= options for cairo
> graphics too -
> see help(x11) for more.
>
> Barry
>
More information about the R-help
mailing list