[R] tip: large plots

Franklin Bretschneider f.bretschneider at uu.nl
Fri Nov 18 21:26:02 CET 2011


Dear Sarah,

RE:

> Hi all,
> 
> I'm working with a bunch of large graphs, and stumbled across
> something useful. Probably many of you know this, but I didn't and so
> others might benefit.
> 
> Using pch="." speeds up plotting considerably over using symbols.
> 
>> x <- runif(1000000)
>> y <- runif(1000000)
>> system.time(plot(x, y, pch="."))
>   user  system elapsed
>  1.042   0.030   1.077
>> system.time(plot(x, y))
>   user  system elapsed
> 37.865   0.033  38.122
> 
> If you have enough points, the result is also more legible.
> 
> Choice of which pch symbol makes a difference too, the default pch=1 being
> the slowest of what I tried, but "." is by far the speediest.
> 
>> system.time(plot(x, y, pch=0))
>   user  system elapsed
> 11.191   0.011  11.270
>> system.time(plot(x, y, pch=1))
>   user  system elapsed
> 38.024   0.008  38.245
>> system.time(plot(x, y, pch=2))
>   user  system elapsed
> 14.140   0.027  14.270
>> system.time(plot(x, y, pch=3))
>   user  system elapsed
> 15.696   0.011  15.799
>> system.time(plot(x, y, pch=4))
>   user  system elapsed
> 18.770   0.007  18.888
> 
> This is a vanilla R session, 2.13.1 for x86_64-redhat-linux-gnu. I
> haven't tried it on any other OS, but it's making my life a lot
> smoother right now.
> 
> Sarah




With Mac OS10 (Snow Leopard, MacBookPro, R version 2.14.0), it 's a bit different:
2.14) source("/var/folders/t6/t6uCNQmsHsSw6tS6HuHp4U+++TI/-Tmp-//Rtmp4ZzIWp/file6b861d06")
[1] "plot symbol . (dot)"
   user  system elapsed 
 16.620   0.087  16.731 
[1] "plot symbol default (circle)"
   user  system elapsed 
 53.132   0.134  52.959 
[1] "symbol#  0"
   user  system elapsed 
 18.828   0.090  18.803 
[1] "symbol#  1"
   user  system elapsed 
 53.046   0.134  52.877 
[1] "symbol#  2"
   user  system elapsed 
 22.000   0.154  22.401 
[1] "symbol#  3"
   user  system elapsed 
 20.794   0.096  20.763 
[1] "symbol#  4"
   user  system elapsed 
 23.534   0.098  23.542 

It seems that even-numbered symbols are plotted faster than the odd ones

By the way, I learn a lot about R programming by just following r-help!

Best regards,


Franklin Bretschneider
--
Dept Biologie
Kruytgebouw W711
Padualaan 8
3584 CH Utrecht
The Netherlands
--
f.bretschneider at uu.nl



More information about the R-help mailing list