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 <frien...@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@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel -- Kevin Wright ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel