Re: [R] Why does plot() ignore the data type for axis labels?

From: Gavin Simpson <gavin.simpson_at_ucl.ac.uk>
Date: Tue, 19 Feb 2008 18:11:04 +0000

On Tue, 2008-02-19 at 09:17 -0800, Stiffler wrote:
> Hello,
>
> I was wondering why the plot() command ignores the datatype when displaying
> axis labels. More specifically, if the data points are integers then the
> axis labels should intuitively also be integers, right?
>
> > x <- as.integer(c(1,2,3))
> > y <-x
> > typeof(x)

> [1] "integer"
> > plot(x,y)
> >
>
> The axis labels are 1.0, 1.5, 2.0, 2.5, 3.0 but if the integer type were
> taken into account they would be 1, 2, 3.

It is due to pretty() finding nice numbers for the axis

> pretty(x)

[1] 1.0 1.5 2.0 2.5 3.0

>
> PS what's the right way to get integer labels?

Do them by hand, if they are (numeric) integers

> plot(x,y, axes = FALSE)
> axis(2)
> axis(1, at = x)
> box()

You could try writing your own Axis.integer function if doing the extra steps is a pain - something like:

Axis.integer <- function(x = NULL, at = NULL, ..., side, labels = NULL) {

    at <- unique(x)
    labels <- as.character(at)
    axis(side = side, at = unique(x), labels = labels, ...) }

which works in these case,

y2 <- runif(3)
plot(x, y)
plot(x, y2)

But is far from bullet proof and is not guaranteed to work in all situations.

HTH G

-- 
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
 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
%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%

______________________________________________
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.
Received on Tue 19 Feb 2008 - 18:13:22 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 19 Feb 2008 - 23:30:15 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive