Re: [R] adding lines to a barchart

2007-12-21 Thread Spilak,Jacqueline [Edm]
Thanks Deepayan, this helped a lot and gave me exactly what I wanted
however I want a few changes and am not sure how to do them.  In each
panel the bars for the years are the same color with the bottom axis
(the x-axis) labelled with the years.  I would like each year to have a
specific color with a legend for it at the side, is this possible?
And my other question is that there seems to be a gap between where the
bars start and the x-axis, it is kinda funny looking so is there anyway
to change this?
Thanks for all the help

On 12/19/07, Spilak,Jacqueline [Edm] [EMAIL PROTECTED] wrote:
 Hi all
 I can't find what I am looking for so I am asking here.  I have a 
 dataset that looks something like this.

 Year   season  percent_below
 2000 Winter 6.9179870
 2000 Spring 1.6829436
 2000 Summer 1.8463501
 2000 Autumn 3.8184993
 2001 Winter 2.8832806
 2001 Spring 2.5870511
 2001 Summer 0.000
 2001 Autumn 4.7248240
 2002 Winter 4.4532238
 2002 Spring 3.7468846
 2002 Summer 1.0784311
 2002 Autumn 3.7061533

 I have plotted this nicely using
 barchart(percent_below ~ factor(Season, levels=Season), data= 
 dataset1,
 group=Year)
 This gives me a barplot by season with each year shown in that season.
 Now the tricky part.  My data is from 2000 to 2007 and 2007 is an 
 important year.  I have an upper and lower limit for percent_below for
 2007 for each season.  I would like to add the upper and lower limit 
 of
 2007 as a black line to each season.  The upper and lower limit will 
 be different for each season.  This is being done so for a comparison 
 so I need it done this way.

I would suggest a slightly different format. Here's an example with one
set of limits; you can add another set similarly. If you really want a
single panel, you could use panel.segments().

barchart(percent_below ~ factor(Year) | factor(season,
levels=unique(season)),
 data= dataset1, origin = 0, layout = c(4, 1),
 upper_2007 = c(6, 4, 5, 3),
 panel = function(..., upper_2007) {
 panel.abline(h = upper_2007[packet.number()])
 panel.barchart(...)
 })

-Deepayan

__
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] adding lines to a barchart

2007-12-21 Thread Deepayan Sarkar
On 12/21/07, Spilak,Jacqueline [Edm] [EMAIL PROTECTED] wrote:
 Thanks Deepayan, this helped a lot and gave me exactly what I wanted
 however I want a few changes and am not sure how to do them.  In each
 panel the bars for the years are the same color with the bottom axis
 (the x-axis) labelled with the years.  I would like each year to have a
 specific color with a legend for it at the side, is this possible?

Sure, just use Year as a grouping variable as well.

barchart(percent_below ~ factor(Year) | factor(season, levels=unique(season)),
 data = dataset1, layout = c(4, 1),
 groups = factor(Year),
 auto.key = list(points = FALSE, rectangles = TRUE),
 stack = TRUE,
 upper_2007 = c(6, 4, 5, 3),
 panel = function(..., upper_2007) {
 panel.abline(h = upper_2007[packet.number()])
 panel.barchart(...)
 })


 And my other question is that there seems to be a gap between where the
 bars start and the x-axis, it is kinda funny looking so is there anyway
 to change this?

What exactly do you want to happen? I don't think a bar chart is an
appropriate visualization unless the lengths of the bars mean
something. If it does, and you just want to get rid of the space below
zero, the easiest way is to set an explicit ylim=c(0, 7) or something.
If the lengths don't really mean anything, you should consider using
dotplot() instead.

-Deepayan

 Thanks for all the help

 On 12/19/07, Spilak,Jacqueline [Edm] [EMAIL PROTECTED] wrote:
  Hi all
  I can't find what I am looking for so I am asking here.  I have a
  dataset that looks something like this.
 
  Year   season  percent_below
  2000 Winter 6.9179870
  2000 Spring 1.6829436
  2000 Summer 1.8463501
  2000 Autumn 3.8184993
  2001 Winter 2.8832806
  2001 Spring 2.5870511
  2001 Summer 0.000
  2001 Autumn 4.7248240
  2002 Winter 4.4532238
  2002 Spring 3.7468846
  2002 Summer 1.0784311
  2002 Autumn 3.7061533
 
  I have plotted this nicely using
  barchart(percent_below ~ factor(Season, levels=Season), data=
  dataset1,
  group=Year)
  This gives me a barplot by season with each year shown in that season.
  Now the tricky part.  My data is from 2000 to 2007 and 2007 is an
  important year.  I have an upper and lower limit for percent_below for
  2007 for each season.  I would like to add the upper and lower limit
  of
  2007 as a black line to each season.  The upper and lower limit will
  be different for each season.  This is being done so for a comparison
  so I need it done this way.

 I would suggest a slightly different format. Here's an example with one
 set of limits; you can add another set similarly. If you really want a
 single panel, you could use panel.segments().

 barchart(percent_below ~ factor(Year) | factor(season,
 levels=unique(season)),
  data= dataset1, origin = 0, layout = c(4, 1),
  upper_2007 = c(6, 4, 5, 3),
  panel = function(..., upper_2007) {
  panel.abline(h = upper_2007[packet.number()])
  panel.barchart(...)
  })

 -Deepayan


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


[R] adding lines to a barchart

2007-12-19 Thread Spilak,Jacqueline [Edm]
Hi all
I can't find what I am looking for so I am asking here.  I have a
dataset that looks something like this. 

Year   season  percent_below
2000 Winter 6.9179870   
2000 Spring 1.6829436   
2000 Summer 1.8463501   
2000 Autumn 3.8184993   
2001 Winter 2.8832806   
2001 Spring 2.5870511   
2001 Summer 0.000   
2001 Autumn 4.7248240   
2002 Winter 4.4532238   
2002 Spring 3.7468846   
2002 Summer 1.0784311   
2002 Autumn 3.7061533   

I have plotted this nicely using 
barchart(percent_below ~ factor(Season, levels=Season), data= dataset1,
group=Year)
This gives me a barplot by season with each year shown in that season.  
Now the tricky part.  My data is from 2000 to 2007 and 2007 is an
important year.  I have an upper and lower limit for percent_below for
2007 for each season.  I would like to add the upper and lower limit of
2007 as a black line to each season.  The upper and lower limit will be
different for each season.  This is being done so for a comparison so I
need it done this way.
Thanks in advance for the help.

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