Re: [R] ggplot2-Issue placing error bars behind data points

2011-09-08 Thread Nathan Miller
Jeff Newmiller and Dennis,

As always, very helpful. I appreciate the comments on how best to organize
the code as well. Simplifies things greatly.

Thanks,
Nate

On Wed, Sep 7, 2011 at 3:33 PM, Dennis Murphy djmu...@gmail.com wrote:

 Hi:

 For your test data, try this:

 # Result of dput(NerveSurv)
 NerveSurv - structure(list(Time = c(0, 0.25, 0.5, 0.75, 1, 1.25, 1.5, 0,
 0.25, 0.5, 0.75, 1, 1.25, 1.5, 0, 0.25, 0.5, 0.75, 1, 1.25, 1.5
 ), SAP = c(1, 1.04, 1.04, 1.06, 1.04, 1.22, 1.01, 1, 1.01, 1.01,
 1.06, 1.01, 0.977, 0.959, 1, 1.01, 1.06, 0.921, 0.951, 0.904,
 0.911), Temp = c(25L, 25L, 25L, 25L, 25L, 25L, 25L, 15L, 15L,
 15L, 15L, 15L, 15L, 15L, 8L, 8L, 8L, 8L, 8L, 8L, 8L), SAPSE = c(0,
 0.0412, 0.0935, 0.0818, 0.131, 0.144, 0.0712, 0, 0.0156, 0.0337,
 0.0481, 0.0168, 0.00486, 0.0155, 0, 0.00462, 0.0491, 0.0329,
 0.0304, 0.0471, 0.0722)), .Names = c(Time, SAP, Temp, SAPSE
 ), class = data.frame, row.names = c(NA, -21L))

 limits-aes(ymax = NerveSurv$SAP + NerveSurv$SAPSE,
 ymin = NerveSurv$SAP - NerveSurv$SAPSE)

 # library('ggplot2')
 p - ggplot(data=NerveSurv,aes(x=Time,y=SAP))
 p + geom_errorbar(limits,width=0.2) +
geom_point(aes(fill=factor(Temp)), colour = colors()[173],
 shape = 21, size=4) +
xlab(Time (min)) +
xlim(c(0, 2)) +
 ylab(Normalized Spontaneous Action Potential Rate) +
ylim(c(0,1.6)) +
 scale_fill_manual(Acclimation\nTemperature, breaks=c(8,18,25),
  labels=c(25ºC, 18 ºC, 8 ºC),
   values=c(colours()[c(173,253,218)]))

 Notice the following in the above code:

 (1) As Jeff Newmiller pointed out, put geom_errorbar() before geom_point().
 (2) If you are going to be using the same value of a plot aesthetic, you
 *set* it outside aes() rather than *map* it inside aes().
 See the revised code for geom_point(). The idea is that if a
 variable is assigned
 to a plot aesthetic (e.g., color, fill, shape), then it needs to
 be mapped inside
 aes(); if an aesthetic is set to a specific value, it is set outside
 aes().
 (3) Your test data had an effective x-range of 0 - 1.5 rather than 0 - 50,
 so
 I shrunk xlim() for readability.
 (4) You can use \n inside of a character string as a carriage return. See
 the legend title for scale_fill_manual().
 (5) Style note: you want the layer addition operator + to be at the end of
 a
 line, not at the beginning. Copy and paste this code verbatim to
 see what I mean:
 p + geom_errorbar(limits,width=0.2)
 +  geom_point(aes(fill=factor(Temp)), colour = colors()[173],
 shape = 21, size=4)

 This happens because the first line is syntactically complete.

 HTH,
 Dennis

 On Wed, Sep 7, 2011 at 2:48 PM, Nathan Miller natemille...@gmail.com
 wrote:
  Hi all,
 
  This seems like a basic problem, but no amount of playing with the code
 has
  solved it. I have a time-series data set like that shown below (only
 longer)
  and am seeking to plot the data with filled, circular points and error
 bars.
  I would like the error bars to be behind the points otherwise they tend
 to
  obscure the points (especially when I have a lot of points in the actual
  data set). Despite providing a fill colour for the points and using
 shapes
  that utilize fill colours, the error bars are always placed on top of the
  points. Can anyone see the error I am making? I simply want to move the
  error bars so they are behind the data points.
 
  Thanks for your help. I assume its simple...or else its a bug.
 
  Nate
 
 
   Time  SAP TempSAPSE
   0.00 1.00   25 0.00
   0.25 1.04   25 0.041200
  0.50 1.04   25  0.093500
  0.75 1.06   25 0.081800
  1.00 1.04   25 0.131000
  1.25 1.22   25 0.144000
  1.50 1.01   25 0.071200
  0.00 1.00   15 0.00
  0.25 1.01   15 0.015600
   0.50 1.01   150.033700
  0.75 1.06   150.048100
  1.00 1.01   150.016800
  1.25 0.977000   150.004860
  1.50 0.959000   150.015500
  0.00 1.008 0.00
  0.25 1.018 0.004620
  0.50 1.068 0.049100
  0.75 0.9210008 0.032900
  1.00 0.9510008 0.030400
  1.25 0.904000 8 0.047100
  1.50 0.911000 8 0.072200
 
 
 limits-aes(ymax=NerveSurv$SAP+NerveSurv$SAPSE,ymin=NerveSurv$SAP-NerveSurv$SAPSE)
 
  p-ggplot(data=NerveSurv,aes(x=Time,y=SAP))
 
  p+geom_point(aes(colour=factor(Temp), shape=factor(Temp),
  fill=factor(Temp)), size=4)
  +geom_errorbar(limits,width=0.2)
  +xlab(Time (min))
  +xlim(c(0,50))
  +ylab(Normalized Spontaneous Action Potential Rate)
  +ylim(c(0,1.6))
  +scale_shape_manual(Acclimation Temperature,breaks=c(8,18,25),
  labels=c(25 ºC, 18 ºC, 8 ºC),values=c(21,21,21))
  +scale_fill_manual(Acclimation Temperature,breaks=c(8,18,25),
 labels=c(25
  ºC, 18 ºC, 8 ºC),values=c(colours()[c(173,253,218)]))
  +scale_colour_manual(Acclimation Temperature,breaks=c(8,18,25),
  labels=c(25 ºC, 18 ºC, 8 ºC), 

[R] ggplot2-Issue placing error bars behind data points

2011-09-07 Thread Nathan Miller
Hi all,

This seems like a basic problem, but no amount of playing with the code has
solved it. I have a time-series data set like that shown below (only longer)
and am seeking to plot the data with filled, circular points and error bars.
I would like the error bars to be behind the points otherwise they tend to
obscure the points (especially when I have a lot of points in the actual
data set). Despite providing a fill colour for the points and using shapes
that utilize fill colours, the error bars are always placed on top of the
points. Can anyone see the error I am making? I simply want to move the
error bars so they are behind the data points.

Thanks for your help. I assume its simple...or else its a bug.

Nate


 Time  SAP TempSAPSE
 0.00 1.00   25 0.00
 0.25 1.04   25 0.041200
0.50 1.04   25  0.093500
0.75 1.06   25 0.081800
1.00 1.04   25 0.131000
1.25 1.22   25 0.144000
1.50 1.01   25 0.071200
0.00 1.00   15 0.00
0.25 1.01   15 0.015600
 0.50 1.01   150.033700
0.75 1.06   150.048100
1.00 1.01   150.016800
1.25 0.977000   150.004860
1.50 0.959000   150.015500
0.00 1.008 0.00
0.25 1.018 0.004620
0.50 1.068 0.049100
0.75 0.9210008 0.032900
1.00 0.9510008 0.030400
1.25 0.9040008 0.047100
1.50 0.9110008 0.072200

limits-aes(ymax=NerveSurv$SAP+NerveSurv$SAPSE,ymin=NerveSurv$SAP-NerveSurv$SAPSE)

p-ggplot(data=NerveSurv,aes(x=Time,y=SAP))

p+geom_point(aes(colour=factor(Temp), shape=factor(Temp),
fill=factor(Temp)), size=4)
+geom_errorbar(limits,width=0.2)
+xlab(Time (min))
+xlim(c(0,50))
+ylab(Normalized Spontaneous Action Potential Rate)
+ylim(c(0,1.6))
+scale_shape_manual(Acclimation Temperature,breaks=c(8,18,25),
labels=c(25 ºC, 18 ºC, 8 ºC),values=c(21,21,21))
+scale_fill_manual(Acclimation Temperature,breaks=c(8,18,25), labels=c(25
ºC, 18 ºC, 8 ºC),values=c(colours()[c(173,253,218)]))
+scale_colour_manual(Acclimation Temperature,breaks=c(8,18,25),
labels=c(25 ºC, 18 ºC, 8 ºC), values=c(colours()[c(173,173,173)]))

[[alternative HTML version deleted]]

__
R-help@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.


Re: [R] ggplot2-Issue placing error bars behind data points

2011-09-07 Thread Jeff Newmiller
Add geom_errorbar() before adding geom_point() ?
---
Jeff Newmiller The . . Go Live...
DCN:jdnew...@dcn.davis.ca.us Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
--- 
Sent from my phone. Please excuse my brevity.

Nathan Miller natemille...@gmail.com wrote:

Hi all,

This seems like a basic problem, but no amount of playing with the code has
solved it. I have a time-series data set like that shown below (only longer)
and am seeking to plot the data with filled, circular points and error bars.
I would like the error bars to be behind the points otherwise they tend to
obscure the points (especially when I have a lot of points in the actual
data set). Despite providing a fill colour for the points and using shapes
that utilize fill colours, the error bars are always placed on top of the
points. Can anyone see the error I am making? I simply want to move the
error bars so they are behind the data points.

Thanks for your help. I assume its simple...or else its a bug.

Nate


Time SAP Temp SAPSE
0.00 1.00 25 0.00
0.25 1.04 25 0.041200
0.50 1.04 25 0.093500
0.75 1.06 25 0.081800
1.00 1.04 25 0.131000
1.25 1.22 25 0.144000
1.50 1.01 25 0.071200
0.00 1.00 15 0.00
0.25 1.01 15 0.015600
0.50 1.01 15 0.033700
0.75 1.06 15 0.048100
1.00 1.01 15 0.016800
1.25 0.977000 15 0.004860
1.50 0.959000 15 0.015500
0.00 1.00 8 0.00
0.25 1.01 8 0.004620
0.50 1.06 8 0.049100
0.75 0.921000 8 0.032900
1.00 0.951000 8 0.030400
1.25 0.904000 8 0.047100
1.50 0.911000 8 0.072200

limits-aes(ymax=NerveSurv$SAP+NerveSurv$SAPSE,ymin=NerveSurv$SAP-NerveSurv$SAPSE)

p-ggplot(data=NerveSurv,aes(x=Time,y=SAP))

p+geom_point(aes(colour=factor(Temp), shape=factor(Temp),
fill=factor(Temp)), size=4)
+geom_errorbar(limits,width=0.2)
+xlab(Time (min))
+xlim(c(0,50))
+ylab(Normalized Spontaneous Action Potential Rate)
+ylim(c(0,1.6))
+scale_shape_manual(Acclimation Temperature,breaks=c(8,18,25),
labels=c(25 �C, 18 �C, 8 �C),values=c(21,21,21))
+scale_fill_manual(Acclimation Temperature,breaks=c(8,18,25), labels=c(25
�C, 18 �C, 8 �C),values=c(colours()[c(173,253,218)]))
+scale_colour_manual(Acclimation Temperature,breaks=c(8,18,25),
labels=c(25 �C, 18 �C, 8 �C), values=c(colours()[c(173,173,173)]))

[[alternative HTML version deleted]]

_

R-help@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.


[[alternative HTML version deleted]]

__
R-help@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.


Re: [R] ggplot2-Issue placing error bars behind data points

2011-09-07 Thread Dennis Murphy
Hi:

For your test data, try this:

# Result of dput(NerveSurv)
NerveSurv - structure(list(Time = c(0, 0.25, 0.5, 0.75, 1, 1.25, 1.5, 0,
0.25, 0.5, 0.75, 1, 1.25, 1.5, 0, 0.25, 0.5, 0.75, 1, 1.25, 1.5
), SAP = c(1, 1.04, 1.04, 1.06, 1.04, 1.22, 1.01, 1, 1.01, 1.01,
1.06, 1.01, 0.977, 0.959, 1, 1.01, 1.06, 0.921, 0.951, 0.904,
0.911), Temp = c(25L, 25L, 25L, 25L, 25L, 25L, 25L, 15L, 15L,
15L, 15L, 15L, 15L, 15L, 8L, 8L, 8L, 8L, 8L, 8L, 8L), SAPSE = c(0,
0.0412, 0.0935, 0.0818, 0.131, 0.144, 0.0712, 0, 0.0156, 0.0337,
0.0481, 0.0168, 0.00486, 0.0155, 0, 0.00462, 0.0491, 0.0329,
0.0304, 0.0471, 0.0722)), .Names = c(Time, SAP, Temp, SAPSE
), class = data.frame, row.names = c(NA, -21L))

limits-aes(ymax = NerveSurv$SAP + NerveSurv$SAPSE,
 ymin = NerveSurv$SAP - NerveSurv$SAPSE)

# library('ggplot2')
p - ggplot(data=NerveSurv,aes(x=Time,y=SAP))
p + geom_errorbar(limits,width=0.2) +
geom_point(aes(fill=factor(Temp)), colour = colors()[173],
 shape = 21, size=4) +
xlab(Time (min)) +
xlim(c(0, 2)) +
ylab(Normalized Spontaneous Action Potential Rate) +
ylim(c(0,1.6)) +
scale_fill_manual(Acclimation\nTemperature, breaks=c(8,18,25),
  labels=c(25ºC, 18 ºC, 8 ºC),
  values=c(colours()[c(173,253,218)]))

Notice the following in the above code:

(1) As Jeff Newmiller pointed out, put geom_errorbar() before geom_point().
(2) If you are going to be using the same value of a plot aesthetic, you
 *set* it outside aes() rather than *map* it inside aes().
 See the revised code for geom_point(). The idea is that if a
variable is assigned
 to a plot aesthetic (e.g., color, fill, shape), then it needs to
be mapped inside
 aes(); if an aesthetic is set to a specific value, it is set outside aes().
(3) Your test data had an effective x-range of 0 - 1.5 rather than 0 - 50, so
 I shrunk xlim() for readability.
(4) You can use \n inside of a character string as a carriage return. See
 the legend title for scale_fill_manual().
(5) Style note: you want the layer addition operator + to be at the end of a
 line, not at the beginning. Copy and paste this code verbatim to
see what I mean:
p + geom_errorbar(limits,width=0.2)
+  geom_point(aes(fill=factor(Temp)), colour = colors()[173],
 shape = 21, size=4)

This happens because the first line is syntactically complete.

HTH,
Dennis

On Wed, Sep 7, 2011 at 2:48 PM, Nathan Miller natemille...@gmail.com wrote:
 Hi all,

 This seems like a basic problem, but no amount of playing with the code has
 solved it. I have a time-series data set like that shown below (only longer)
 and am seeking to plot the data with filled, circular points and error bars.
 I would like the error bars to be behind the points otherwise they tend to
 obscure the points (especially when I have a lot of points in the actual
 data set). Despite providing a fill colour for the points and using shapes
 that utilize fill colours, the error bars are always placed on top of the
 points. Can anyone see the error I am making? I simply want to move the
 error bars so they are behind the data points.

 Thanks for your help. I assume its simple...or else its a bug.

 Nate


  Time      SAP Temp    SAPSE
  0.00 1.00   25     0.00
  0.25 1.04   25     0.041200
 0.50 1.04   25      0.093500
 0.75 1.06   25     0.081800
 1.00 1.04   25     0.131000
 1.25 1.22   25     0.144000
 1.50 1.01   25     0.071200
 0.00 1.00   15     0.00
 0.25 1.01   15     0.015600
  0.50 1.01   15    0.033700
 0.75 1.06   15    0.048100
 1.00 1.01   15    0.016800
 1.25 0.977000   15    0.004860
 1.50 0.959000   15    0.015500
 0.00 1.00    8     0.00
 0.25 1.01    8     0.004620
 0.50 1.06    8     0.049100
 0.75 0.921000    8     0.032900
 1.00 0.951000    8     0.030400
 1.25 0.904000 8     0.047100
 1.50 0.911000 8     0.072200

 limits-aes(ymax=NerveSurv$SAP+NerveSurv$SAPSE,ymin=NerveSurv$SAP-NerveSurv$SAPSE)

 p-ggplot(data=NerveSurv,aes(x=Time,y=SAP))

 p+geom_point(aes(colour=factor(Temp), shape=factor(Temp),
 fill=factor(Temp)), size=4)
 +geom_errorbar(limits,width=0.2)
 +xlab(Time (min))
 +xlim(c(0,50))
 +ylab(Normalized Spontaneous Action Potential Rate)
 +ylim(c(0,1.6))
 +scale_shape_manual(Acclimation Temperature,breaks=c(8,18,25),
 labels=c(25 ºC, 18 ºC, 8 ºC),values=c(21,21,21))
 +scale_fill_manual(Acclimation Temperature,breaks=c(8,18,25), labels=c(25
 ºC, 18 ºC, 8 ºC),values=c(colours()[c(173,253,218)]))
 +scale_colour_manual(Acclimation Temperature,breaks=c(8,18,25),
 labels=c(25 ºC, 18 ºC, 8 ºC), values=c(colours()[c(173,173,173)]))

        [[alternative HTML version deleted]]


 __
 R-help@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,