Re: creating functions with variable number of options
- To: mathgroup at smc.vnet.net
- Subject: [mg33131] Re: creating functions with variable number of options
- From: "Allan Hayes" <hay at haystack.demon.co.uk>
- Date: Tue, 5 Mar 2002 03:08:32 -0500 (EST)
- References: <a5t29o$662$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Okke,
I have assumed that you want to be able to overide the defaults for xPlot.
I have also allowed for the different syntaxes possible for the value of
PlotStyle and for several expressions being plotted at the same time.
Options[xPlot] = {PlotStyle ->
{{Thickness[0.02], Hue[0]}}};
xPlot[expr_, range_, (opts___)?OptionQ] :=
Module[{pst, def, new},
pst = PlotStyle /. {opts} /. PlotStyle -> {{}};
def = PlotStyle /. Options[xPlot];
new = pst /. {{x___} :> (Flatten[{def, #1}] & ) /@
{x}, x_ :> {Flatten[{def, x}]}};
Plot[expr, range, PlotStyle -> new, opts]]
xPlot[x, {x, 0, 1}];
xPlot[x, {x, 0, 1}, PlotStyle -> {Hue[0.4]}];
The default can be modified independently for each of several expressions
xPlot[{x, x^2}, {x, 0, 1}];
xPlot[{x, x^2}, {x, 0, 1}, PlotStyle ->
{Hue[0.4], Thickness[0.01]}];
--
Allan
---------------------
Allan Hayes
Mathematica Training and Consulting
Leicester UK
www.haystack.demon.co.uk
hay at haystack.demon.co.uk
Voice: +44 (0)116 271 4198
Fax: +44 (0)870 164 0565
"Okke" <Okke at NOSPAMtref.nl> wrote in message
news:a5t29o$662$1 at smc.vnet.net...
> Hello,
>
> I want to create a function with an option to set the plot color.
> After looking at the examples I was cabable of making a function
> in which I could add an option, but I couldnt merge the additional
> option with the used option inside the function.
>
> could somebody please help me and tell me how I can make the function
> and function call below work?
>
> tia,
>
>
> xPlot[function_, range_] :=
> Plot[function, range,PlotStyle -> {Thickness[0.02]}]
>
> xPlot[Sin[n], {n, 0, 2 Pi}, PlotStyle -> {RGBColor[0, 1, 0]}]
>
>
> --
> Okke
>
> remove NOSPAM from my email address to reply
>