Skip to content

ggplot2: annotated horizontal lines

6 messages · Baptiste Auguie, ONKELINX, Thierry, Dave Murray-Rust

#
Hello,

I'm using geom_hline to add a minimum line to my plot (representing  
the best solution found so far by a search algorithm). I'd like to  
annotate this line with it's numerical value to save trying to read it  
off the graph, but I can't see a clear way to do this - any ideas?

(Alternatively, if this is against the spirit of the grammar of  
graphics, is there a better way to represent the information?)

Cheers,
dave
#
What's wrong with geom_text?
baptiste
On 3 Mar 2009, at 18:10, Dave Murray-Rust wrote:

            
_____________________________

Baptiste Augui?

School of Physics
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK

Phone: +44 1392 264187

http://newton.ex.ac.uk/research/emag
#
On 3 Mar 2009, at 18:41, baptiste auguie wrote:

            
Well, firstly I hadn't thought to use it. Ooops.

Secondly, I can't make it just do a single value - it seems to want a  
value for every point in the dataset, e.g.:

 >  qplot( wt, mpg, data=mtcars ) +  
geom_text(mapping=aes(x=1,y=0,label=paste("0.5"),vjust=-1))
Error in data.frame(..., check.names = FALSE) :
   arguments imply differing number of rows: 1, 32

Cheers,
dave

  
    
#
I see your problem (although label should be outside the mapping in  
your case, i think).

A possible workaround is to provide some dummy data, as the default  
NULL doesn't seem to work,

  qplot( wt, mpg, data=mtcars ) +
  geom_text(data=data.frame(x=0,y=0),mapping=aes(x=1,y=0),label="test")

I'm sure Hadley will come up with a better explanation.

Best,

baptiste
On 3 Mar 2009, at 19:51, Dave Murray-Rust wrote:

            
_____________________________

Baptiste Augui?

School of Physics
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK

Phone: +44 1392 264187

http://newton.ex.ac.uk/research/emag
#
Dear Dave,

Another option would be to manually create the breaks of your plot.

library(ggplot2)
myBreaks <- sort(c(pretty(mtcars$mpg), min(mtcars$mpg)))
ggplot(aes(x = wt, y = mpg), data = mtcars) + geom_point() + geom_hline(yintercept = min(mtcars$mpg)) + scale_y_continuous(breaks = myBreaks)

HTH,

Thierry 


----------------------------------------------------------------------------
ir. Thierry Onkelinx
Instituut voor natuur- en bosonderzoek / Research Institute for Nature and Forest
Cel biometrie, methodologie en kwaliteitszorg / Section biometrics, methodology and quality assurance
Gaverstraat 4
9500 Geraardsbergen
Belgium 
tel. + 32 54/436 185
Thierry.Onkelinx at inbo.be 
www.inbo.be 

To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of.
~ Sir Ronald Aylmer Fisher

The plural of anecdote is not data.
~ Roger Brinner

The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data.
~ John Tukey

-----Oorspronkelijk bericht-----
Van: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] Namens baptiste auguie
Verzonden: dinsdag 3 maart 2009 21:50
Aan: Dave Murray-Rust
CC: R Help
Onderwerp: Re: [R] ggplot2: annotated horizontal lines

I see your problem (although label should be outside the mapping in  
your case, i think).

A possible workaround is to provide some dummy data, as the default  
NULL doesn't seem to work,

  qplot( wt, mpg, data=mtcars ) +
  geom_text(data=data.frame(x=0,y=0),mapping=aes(x=1,y=0),label="test")

I'm sure Hadley will come up with a better explanation.

Best,

baptiste
On 3 Mar 2009, at 19:51, Dave Murray-Rust wrote:

            
_____________________________

Baptiste Augui?

School of Physics
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK

Phone: +44 1392 264187

http://newton.ex.ac.uk/research/emag

______________________________________________
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.

Dit bericht en eventuele bijlagen geven enkel de visie van de schrijver weer 
en binden het INBO onder geen enkel beding, zolang dit bericht niet bevestigd is
door een geldig ondertekend document. The views expressed in  this message 
and any annex are purely those of the writer and may not be regarded as stating 
an official position of INBO, as long as the message is not confirmed by a duly 
signed document.
#
That's great - thanks!
On 4 Mar 2009, at 08:59, ONKELINX, Thierry wrote: