Hello,

You're right, it has to do with the argument xy.labels. The relevant 
lines in the source are
(file src/library/stats/R/ts.R, function plot.ts)

         [...]
         n <- length(xy $ x)          #-> default for xy.l(ines|abels)
         if(missing(xy.labels)) xy.labels <- (n <= 150)
         if(!is.logical(xy.labels)) {
             if(!is.character(xy.labels))
                 stop("'xy.labels' must be logical or character")
             do.lab <- TRUE
         } else do.lab <- xy.labels
         [...]
         ptype <-
         if(do.lab) "n" else if(missing(type)) "p" else type
         plot.default(xy, type = ptype,
         [...]
         if(do.lab)
             text(xy, labels =
              if(is.character(xy.labels)) xy.labels
              else if(all(tsp(x) == tsp(y))) formatC(time(x), width = 1)
              else seq_along(xy$x),
              col = col, cex = cex)
         if(xy.lines)
             lines(xy, col = col, lty = lty, lwd = lwd,
               type = if(do.lab) "c" else "l")
         [...]

Note that this is executed only if both 'x' and 'y' are passed to plot.ts.
The variable 'do.lab' will control the plot.default type and whether the 
points are labeled using text() and the lines() type.
This variable is set according to xy.labels. This behavior is more or 
less documented in plot.ts:

|"xy.labels|||logical, indicating if |text 
<http://127.0.0.1:29428/library/stats/help/text>()| labels should be 
used for an x-y plot, /or/ character, supplying a vector of labels to be 
used. The default is to label for up to 150 points, and not for more."

but I believe the documentation could be more clear. It could say that 
in the case of a y ~ x plot, to supress the plot xy.labels should be set 
to FALSE.

Hope this helps,

Rui Barradas
Em 29-12-2012 17:04, Simone Giannerini escreveu:
> Dear all,
>
> I think I have found a buglet in plot.ts
>
> plot.ts(x=1,type="n")     # correct: does not show the plot
> plot.ts(x=1,y=1,type="n") # not correct: does show the plot
>
> I did not investigate the problem in depth but it could be related to
> the switch xy.labels, in fact
>
> plot.ts(x=1,y=1,type="n",xy.labels=TRUE) #  does show the plot
> plot.ts(x=1,y=1,type="n",xy.labels=FALSE) # does not show the plot
>
>> sessionInfo()
> R version 2.15.2 Patched (2012-10-26 r61028)
> Platform: x86_64-w64-mingw32/x64 (64-bit)
>
> locale:
> [1] LC_COLLATE=Italian_Italy.1252  LC_CTYPE=Italian_Italy.1252
> [3] LC_MONETARY=Italian_Italy.1252 LC_NUMERIC=C
> [5] LC_TIME=Italian_Italy.1252
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
>
> loaded via a namespace (and not attached):
> [1] tools_2.15.2
>
>
> Kind regards
>
> Simone
> ______________________________________________________
>
>
> Simone Giannerini
> Dipartimento di Scienze Statistiche "Paolo Fortunati"
> Universita' di Bologna
> Via delle belle arti 41 - 40126  Bologna,  ITALY
> Tel: +39 051 2098262  Fax: +39 051 232153
> http://www2.stat.unibo.it/giannerini/
>
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel


        [[alternative HTML version deleted]]

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to