[R] ggplot questions

Thompson, David (MNR) David.John.Thompson at ontario.ca
Thu Jun 5 21:38:26 CEST 2008


Thanx Hadley, 

More questions inline.

>-----Original Message-----
>From: hadley wickham [mailto:h.wickham at gmail.com] 
>Sent: June 5, 2008 01:09 PM
>To: Thompson, David (MNR)
>Cc: r-help at r-project.org
>Subject: Re: [R] ggplot questions
>
>On Wed, Jun 4, 2008 at 2:03 PM, Thompson, David (MNR)
><David.John.Thompson at ontario.ca> wrote:
>> Hello,
>>
>> A few questions about the following examples:
>> 1. Why do the two plotting versions not produce the same result?
>
>Because version one has two layers, and version two has one?

Does the difference have something to do with ggplot() using ranges
derived from the data?
When I modify my original 'test' dataframe with two extra rows as
defined below, I get expected results in both versions.

This highlights my next question (warned you ;-) ), I have been
unsuccessful in trying to define fixed plotting ranges to generate a
'template' graphic that I may reuse with successive 'overstory plot'
data sets. I have used '+ xlim(0, 360) + ylim(0, 16)' but, this seems to
not have any effect on the final plot layout.

>
>> 2. Is the 'scale_x_continuous' (or *_y_* or *_*_discrete) 
>geom the best
>> way to setup grids (as in visual guide-lines) in polar (or for that
>> matter, any) coordinate system?
>
>It's one way.  Another way is to use geom_hline and geom_vline.  (Also
>note that scale_x_continuous is a _scale_ not a geom)

OK. So, how do I suppress automatic generation of plot grids so that I
could define my own with geom_hline and geom_vline?

>
>> 3. Why do these commands appear to generate 3 plot pages each?
>
>Could you provide a bit more detail here please?

Sorry Hadley, I could not reproduce the same behaviour.
I had restarted my computer since then so, maybe, I was just suffering
from the usual leaky-resources-M$-syndrome.

>
>Thanks,
>
>Hadley
>
>-- 
>http://had.co.nz/

# for ease of reference:
# the two original dataframes
test <- structure(list(oplt = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L
), rplt = 1:10, az = c(57L, 94L, 96L, 152L, 182L, 185L, 227L, 
264L, 332L, 354L), dist = c(4.09, 2.8, 7.08, 7.09, 3.28, 7.85, 
6.12, 1.97, 7.68, 7.9)), .Names = c("oplt", "rplt", "az", "dist"
), row.names = c(NA, 10L), class = "data.frame")

labs <- structure(list(oplt = c(0, 0, 0, 0, 0), rplt = structure(c(3L, 
1L, 4L, 5L, 2L), .Label = c("E", "N", "o", "S", "W"), class = "factor"),

    az = c(0, 90, 180, 270, 360), dist = c(0, 16, 16, 16, 16)), .Names =
c("oplt", 
"rplt", "az", "dist"), row.names = c(NA, -5L), class = "data.frame")

# the new dataframe
test2 <- structure(list(oplt = c(0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), 
    rplt = c("o", "N", "1", "2", "3", "4", "5", "6", "7", "8", 
    "9", "10"), az = c(0, 360, 57, 94, 96, 152, 182, 185, 227, 
    264, 332, 354), dist = c(0, 16, 4.09, 2.8, 7.08, 7.09, 3.28, 
    7.85, 6.12, 1.97, 7.68, 7.9)), .Names = c("oplt", "rplt", 
"az", "dist"), row.names = c(NA, 12L), class = "data.frame")

### plot version 1, setup plot structure first, add 'data' points later
ggplot() + coord_polar() + 
layer( data = labs, mapping = aes(x = az, y = dist, label = rplt), geom
= "text") +
scale_x_continuous(breaks=c(90, 180, 270, 360)) +
layer( data = test, mapping = aes(x = az, y = dist, label = rplt), geom
= "text")

### plot version 2, try the same all in one step
ggplot() + coord_polar() + 
layer( data = test, mapping = aes(x = az, y = dist, label = rplt), geom
= "text") +
scale_x_continuous(breaks=c(90, 180, 270, 360), labels=c('90', '180',
'270', '360'))

> sessionInfo()
R version 2.7.0 (2008-04-22) 
i386-pc-mingw32 

locale:
LC_COLLATE=English_Canada.1252;LC_CTYPE=English_Canada.1252;LC_MONETARY=
English_Canada.1252;LC_NUMERIC=C;LC_TIME=English_Canada.1252

attached base packages:
 [1] datasets  grDevices splines   grid      graphics  stats     tcltk
utils     methods   base     

other attached packages:
 [1] ggplot2_0.6        colorspace_0.95    RColorBrewer_1.0-2
MASS_7.2-42        proto_0.3-8        reshape_0.8.0      car_1.2-8

 [8] svSocket_0.9-5     svIO_0.9-5         R2HTML_1.59
svMisc_0.9-5       svIDE_0.9-5       

Thanx again, DaveT.
*************************************
Silviculture Data Analyst
Ontario Forest Research Institute
Ontario Ministry of Natural Resources
david.john.thompson at ontario.ca
http://ontario.ca/ofri



More information about the R-help mailing list