Re: [Rd] setting global options for a package

From: Kevin Wright <kw.stat_at_gmail.com>
Date: Thu, 10 May 2012 11:48:16 -0500

Have you considered the lattice package? The defaults can be accessed/changed via trellis.par.get(), but also passed as arguments into the functions.

Kevin

On Thu, May 10, 2012 at 8:59 AM, Michael Friendly <friendly_at_yorku.ca> wrote:
> This may be elementary, but I can't find an answer: How can I set up global
> options for
> some specific arguments to functions in a package which can be easily
> changed by the user?
>
> This question relates to the selection of colors used in functions in
> several packages (heplots,
> genridge), where I want to provide reasonable default values for plots, but
> allow users to
> change those defaults globally for all plots produced with my functions.
>
> One solution is to use palette() for the default, as in
>
> foo <- function(x, col=palette(), ...)  {}
> but the standard palette is not appropriate for my use, and I'd rather not
> hijack more typical uses
>
> Another is to use an explicit list of colors for default, as in
>
> bar <- function(x, col=c('red', 'blue', 'brown', 'darkgreen', ...), ...)  {}
> but this must be overridden each time by someone to wants to change the
> defaults.
>
> options() seems like the way to go, but I'm not sure how to implement this.
>  If I use
> a .onLoad function to set some options, will these be created in the global
> environment?
> If not, how to make them so?
>
> .onLoad <- function() {
>  options(heplot.colors =
>  c("red", "blue", "black", "darkgreen", "darkcyan","magenta",
> "brown","darkgray"))
> }
>
> My function could then use
>
> foo <- function(x, getOption("heplot.colors"), ...)  {}
>
>
> --
> Michael Friendly     Email: friendly AT yorku DOT ca
> Professor, Psychology Dept.
> York University      Voice: 416 736-5115 x66249 Fax: 416 736-5814
> 4700 Keele Street    Web:   http://www.datavis.ca
> Toronto, ONT  M3J 1P3 CANADA
>
> ______________________________________________
> R-devel_at_r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

-- 
Kevin Wright

______________________________________________
R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Thu 10 May 2012 - 16:51:22 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

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 Thu 10 May 2012 - 18:01:14 GMT.

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

list of date sections of archive