[R] ggplot2, geom_hline and facet_grid
Hadley Wickham
hadley at rice.edu
Thu Jan 20 22:27:36 CET 2011
Ok, that's a known bug:
https://github.com/hadley/ggplot2/issues/labels/facet#issue/96
Thanks for the reproducible example though!
Hadley
On Thu, Jan 20, 2011 at 3:46 AM, Sandy Small <sandy.small at nhs.net> wrote:
>
> Thank you.
> That seems to work - also on my much larger data set.
> I'm not sure I understand why it has to be defined as a factor, but if it
> works...
> Sandy
> Dennis Murphy wrote:
>
> Hi Sandy:
> I can reproduce your problem given the data provided. When I change
> ecd_rhythm from character to factor, it works as you intended.
> > str(lvefeg)
> List of 4 ### Interesting...
> $ cvd_basestudy: chr [1:10] "CBP05J02" "CBP05J02" "CBP05J02" "CBP05J02"
> ...
> $ ecd_rhythm : chr [1:10] "AF" "AF" "AF" "AF" ...
> $ fixed_time : num [1:10] 30.9 33.2 32.6 32.1 30.9 ...
> $ variable_time: num [1:10] 29.4 32 30.3 33.7 28.3 ...
> - attr(*, "row.names")= int [1:10] 1 2 3 4 5 6 7 9 10 11
> > class(lvefeg)
> [1] "cast_df" "data.frame"
> lvefeg$ecd_rhythm <- factor(lvefeg$ecd_rhythm)
> p <- qplot((variable_time + fixed_time) /2 , variable_time - fixed_time,
> data = lvefeg, geom='point')
> p
> p + facet_grid(ecd_rhythm ~ .) + geom_hline(yintercept=0)
> Does that work on your end? (And thank you for the reproducible example.
> Using dput() allows us to see what you see, which is very helpful.)
> HTH,
> Dennis
>
> On Wed, Jan 19, 2011 at 1:30 PM, Small Sandy (NHS Greater Glasgow & Clyde)
> <[1]sandy.small at nhs.net> wrote:
>
> Hi
> Still having problems in that when I use geom_hline and facet_grid
> together I get two extra empty panels
> A reproducible example can be found at:
> [2]https://gist.github.com/786894
> Sandy Small
> ________________________________________
> From: [3]h.wickham at gmail.com [[4]h.wickham at gmail.com] On Behalf Of Hadley
> Wickham [[5]hadley at rice.edu]
> Sent: 19 January 2011 15:11
> To: Small Sandy (NHS Greater Glasgow & Clyde)
> Cc: [6]r-help at r-project.org
>
> Subject: Re: [R] ggplot2, geom_hline and facet_grid
>
> Hi Sandy,
> It's difficult to know what's going wrong without a small reproducible
> example ([7]https://github.com/hadley/devtools/wiki/Reproducibility) -
> could you please provide one? You might also have better luck with an
> email directly to the ggplot2 mailing list.
> Hadley
> On Wed, Jan 19, 2011 at 2:57 AM, Sandy Small <[8]sandy.small at nhs.net> wrote:
> > Having upgraded to R version 2.12.1 I still have the same problem:
> >
> > The combination of facet_grid and geom_hline produce (for me) 4 panels
> > of which two are empty of any data or lines (labelled "1" and "2").
> > Removing either the facet_grid or the geom_hline gives me the result I
> > would then expect.
> >
> > I have tried forcing the rhythm to be a factor
> > Anyone have any ideas?
> >
> > Sandy
> >
> > Dennis Murphy wrote:
> >
> > Hi:
> >
> > The attached plot comes from the following code:
> >
> > g <- ggplot(data =f, aes(x = (variable_time + fixed_time)/2, y
> > variable_time - fixed_time))
> > g + geom_point() + geom_hline(yintercept =) + facet_grid(ecd_rhythm ~ .)
> >
> > Is this what you were expecting?
> >
> > > sessionInfo()
> > R version 2.12.1 Patched (2010-12-18 r53869)
> > Platform: x86_64-pc-mingw32/x64 (64-bit)
> >
> > locale:
> > [1] LC_COLLATE=glish_United States.1252
> > [2] LC_CTYPE=glish_United States.1252
> > [3] LC_MONETARY=glish_United States.1252
> > [4] LC_NUMERIC=nbsp;
> > [5] LC_TIME=glish_United States.1252
> >
> > attached base packages:
> > [1] splines stats graphics grDevices utils datasets
> > grid
> > [8] methods base
> >
> > other attached packages:
> > [1] data.table_1.5.1 doBy_4.2.2 R2HTML_2.2 contrast_0.13
> > [5] Design_2.3-0 Hmisc_3.8-3 survival_2.36-2 sos_1.3-0
> > [9] brew_1.0-4 lattice_0.19-17 ggplot2_0.8.9 proto_0.3-8
> > [13] reshape_0.8.3 plyr_1.4
> >
> > loaded via a namespace (and not attached):
> > [1] cluster_1.13.2 digest_0.4.2 Matrix_0.999375-46
> > reshape2_1.1
> > [5] stringr_0.4 tools_2.12.1
> >
> > HTH,
> > Dennis
> >
> > On Tue, Jan 18, 2011 at 1:46 AM, Small Sandy (NHS Greater Glasgow &
> > Clyde) <[9]sandy.small at nhs.net <[10]ailto:sandy.small at nhs.net%22>>
> wrote:
> >
> > Hi
> >
> > I have a long data set on which I want to do Bland-Altman style
> > plots for each rhythm type
> > Using ggplot2, when I use geom_hline with facet_grid I get an
> > extra set of empty panels.
> > I can't get it to do it with the "Diamonds" data supplied with
> > the package so here is a (much abbreviated) example:
> >
> > > lvexs
> > cvd_basestudy ecd_rhythm fixed_time variable_time
> > 1 CBP05J02 AF 30.9000 29.4225
> > 2 CBP05J02 AF 33.1700 32.0350
> > 3 CBP05J02 AF 32.5700 30.2775
> > 4 CBP05J02 AF 32.0550 33.7275
> > 5 CBP05J02 SINUS 30.9175 28.3475
> > 6 CBP05J02 SINUS 30.5725 29.7450
> > 7 CBP05J02 SINUS 33.0000 31.1550
> > 9 CBP05J02 SINUS 31.8350 30.7000
> > 10 CBP05J02 SINUS 34.0450 33.4800
> > 11 CBP05J02 SINUS 31.3975 29.8150
> > > qplot((variable_time + fixed_time)/2, variable_time -
> > fixed_time, data=exs) + facet_grid(ecd_rhythm ~ .) +
> > geom_hline(yintercept=0)
> >
> > If I take out the geom_hline I get the plots I would expect.
> >
> > It doesn't seem to make any difference if I get the mean and
> > difference separately.
> >
> > Can anyone explain this and tell me how to avoid it (and why
> > does it work with the Diamonds data set?
> >
> > Any help much appreciated - thanks.
> >
> > Sandy
> >
> > Sandy Small
> > Clinical Physicist
> > NHS Forth Valley
> > and
> > NHS Greater Glasgow and Clyde
> >
> >
> >
> >
> ****************************************************************************
> ****************************************
> >
> > This message may contain confidential information. If yo...{{dropped:21}}
> >
> > ______________________________________________
> > [11]R-help at r-project.org mailing list
> > [12]https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide
> [13]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
> [14]http://had.co.nz/
> ****************************************************************************
> ****************************************
>
> This message may contain confidential information. If you are not the
> intended recipient please inform the
> sender that you have received the message in error before deleting it.
> Please do not disclose, copy or distribute information in this e-mail or
> take any action in reliance on its contents:
> to do so is strictly prohibited and may be unlawful.
> Thank you for your co-operation.
> NHSmail is the secure email and directory service available for all NHS
> staff in England and Scotland
> NHSmail is approved for exchanging patient data and other sensitive
> information with NHSmail and GSi recipients
> NHSmail provides an email address for your career in the NHS and can be
> accessed anywhere
> For more information and to find out how you can switch, visit
> [15]www.connectingforhealth.nhs.uk/nhsmail
>
> ______________________________________________
> [16]R-help at r-project.org mailing list
> [17]https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> [18]http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
> --
>
> Sandy Small
> Clinical Physicist
> NHS Greater Glasgow and Clyde
> and
> NHS Forth Valley
>
> Phone (Glasgow): 01412114592
> Phone (Forth Valley): 01324567002
> E-mail: [19]Sandy.Small at NHS.net
>
> ****************************************************************************
> ****************************************
> This message may contain confidential information. If you are not the
> intended recipient please inform the
> sender that you have received the message in error before deleting it.
> Please do not disclose, copy or distribute information in this e-mail or
> take any action in reliance on its contents:
> to do so is strictly prohibited and may be unlawful.
> Thank you for your co-operation.
> NHSmail is the secure email and directory service available for all NHS
> staff in England and Scotland
> NHSmail is approved for exchanging patient data and other sensitive
> information with NHSmail and GSi recipients
> NHSmail provides an email address for your career in the NHS and can be
> accessed anywhere
> For more information and to find out how you can switch, visit
> www.connectingforhealth.nhs.uk/nhsmail
> ****************************************************************************
> ****************************************
>
> References
>
> 1. mailto:sandy.small at nhs.net
> 2. https://gist.github.com/786894
> 3. mailto:h.wickham at gmail.com
> 4. mailto:h.wickham at gmail.com
> 5. mailto:hadley at rice.edu
> 6. mailto:r-help at r-project.org
> 7. https://github.com/hadley/devtools/wiki/Reproducibility
> 8. mailto:sandy.small at nhs.net
> 9. mailto:sandy.small at nhs.net
> 10. mailto:ailto%3Asandy.small at nhs.net
> 11. mailto:R-help at r-project.org
> 12. https://stat.ethz.ch/mailman/listinfo/r-help
> 13. http://www.R-project.org/posting-guide.html
> 14. http://had.co.nz/
> 15. http://www.connectingforhealth.nhs.uk/nhsmail
> 16. mailto:R-help at r-project.org
> 17. https://stat.ethz.ch/mailman/listinfo/r-help
> 18. http://www.R-project.org/posting-guide.html
> 19. mailto:Sandy.Small at NHS.net
> ______________________________________________
> R-help at 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/
More information about the R-help
mailing list