On Mon, 2009-01-19 at 23:39 +0000, glenn wrote:
> Hi All,
> 
> I have a small dataframe [dates, values) I am plotting with
> plot(df,type=l)
> 
> And the date date covers a year. The graph only have marks at 2008 and
> 2009.
> 
> How do I get the months labeled at the bottom please
> 
> Thanks as always
> 
> Glenn

Hi,

Here is an example using standard data types:

## some dummy data
x <- seq(as.Date("2008-01-01"), as.Date("2009-10-31"), by = "day")
set.seed(1234)
y <- cumsum(rnorm(length(x)))

## plot, but suppress axes
plot(y ~ x, type = "l", axes = FALSE)
## add in axis on side 2
axis(2)

## compute where we want the ticks for the months
ticks.at <- seq(min(x), max(x),
                by = "months")
## format the labels as abbreviated month names
ticks.lab <- format(ticks.at, format = "%b")
## indicator variable; is month January?
m1 <- ticks.lab == "Jan"
## plot small ticks and labels for months not Jan
Axis(x, at = ticks.at[!m1], side = 1, 
     labels = ticks.lab[!m1], las = 2, cex.axis = 0.7)
## plot the default tick locations for years
Axis(x, side = 1, las = 2)
## add the box
box()

You may have to process the last call to Axis to get the years if R
doesn't produce them for you, perhaps:

Axis(x, at = ticks.at[m1], las = 2, side = 1,
     labels = format(ticks.at[m1], format = "%Y"))

Notice the calls to Axis(). This will call the appropriate axis() method
for the class of object 'x' (in this case). This just means that you
don't need to remember to call axis.Date (and get capitalisation
correct). All the calls to Axis can be done with axis.Date explicitly
but you'll need to swap the first two arguments (me being lazy and not
naming 'x' argument)

HTH

G

> 
>       [[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.
-- 
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
 Dr. Gavin Simpson             [t] +44 (0)20 7679 0522
 ECRC, UCL Geography,          [f] +44 (0)20 7679 0565
 Pearson Building,             [e] gavin.simpsonATNOSPAMucl.ac.uk
 Gower Street, London          [w] http://www.ucl.ac.uk/~ucfagls/
 UK. WC1E 6BT.                 [w] http://www.freshwaters.org.uk
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%

Attachment: signature.asc
Description: This is a digitally signed message part

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

Reply via email to