[R] Change labels of x-axes in Plot of stl() function?

Gabor Grothendieck ggrothendieck at gmail.com
Wed Dec 7 18:12:29 CET 2005


This should fix that problem:

plot.stl <- function(..., xlab = "time") {
	mtext <- function(text, ...)
                  graphics::mtext(if (text == "time") xlab else text, ...)
	plot.stl <- stats:::plot.stl
	environment(plot.stl) <- environment()
	plot.stl(...)
}


Also for the proto solution try this:

library(proto)
STL <- proto(plot.stl = stats:::plot.stl,
	mtext = function(text, ...)
                   graphics::mtext(if (text == "time") xlab else text, ...),
	xlab = "time (decade)")

# test.  First line computers stmd to be used as test data.
example(stl)
with(STL, plot.stl(stmd))





On 12/7/05, Jan Verbesselt <Jan.Verbesselt at biw.kuleuven.be> wrote:
> Thanks a lot!
>
> However, it's not working perfectly yet. The function plot.stl now also
> changes the labels of Data, Seasonal, Trend, and Remainder to the text
> defined for "xlab". How could this be fine-tuned?
>
> Regards,
> Jan
>
> > -----Original Message-----
> > From: Gabor Grothendieck [mailto:ggrothendieck at gmail.com]
> > Sent: Wednesday, December 07, 2005 5:07 PM
> > To: Jan Verbesselt
> > Cc: r-help at stat.math.ethz.ch
> > Subject: Re: [R] Change labels of x-axes in Plot of stl() function?
> >
> > If you look through the output of:
> >
> > stats:::plot.stl
> >
> > you see right near the end that "time" is hard coded in the call to mtext.
> >
> > However, we could temporarily redefine mtext so that it works as you
> > wish and then redefine plot.stl so that it looks within the environment
> > of our function to find mtext (rather than looking in the stats package):
> >
> > plot.stl <- function(..., xlab = "time") {
> >       mtext <- function(text, ...) graphics::mtext(xlab, ...)
> >       plot.stl <- stats:::plot.stl
> >       environment(plot.stl) <- environment()
> >       plot.stl(...)
> > }
> >
> > # test it
> > example(stl)
> > plot.stl(stmd, xlab = "X")
> >
> >
> >
> > On 12/7/05, Jan Verbesselt <Jan.Verbesselt at biw.kuleuven.be> wrote:
> > > Hi all,
> > >
> > > How can the label of the x-axes in the plot() of a stl.object be
> > adapted?
> > >
> > > e.g.,
> > >
> > > When plotting:     plot(stl(nottem, "per"))
> > >
> > > In the labels of the x-axes is "time". How can this be changed to e.g.,
> > > "Time (dekade) "?
> > >
> > > It does not work with xlab or others anymore…
> > >
> > >
> > >
> > > Thanks,
> > >
> > > Jan
> > >
> > > _______________________________________________________________________
> > > Ir. Jan Verbesselt
> > > Research Associate
> > > Biosystems Department ~ M³-BIORES
> > > Vital Decosterstraat 102, 3000 Leuven, Belgium
> > > Tel: +32-16-329750   Fax: +32-16-329760
> > > http://gloveg.kuleuven.ac.be/
> > > _______________________________________________________________________
> > >
> > >
> > >
> > >
> > >
> > > Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
> > >
> > >
> > >        [[alternative HTML version deleted]]
> > >
> > >
> > >
> > > ______________________________________________
> > > R-help at stat.math.ethz.ch mailing list
> > > https://stat.ethz.ch/mailman/listinfo/r-help
> > > PLEASE do read the posting guide! http://www.R-project.org/posting-
> > guide.html
> > >
> > >
>
>
> Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
>
>




More information about the R-help mailing list