Re: Re: Give a list of options in Mathematica 6
- To: mathgroup at smc.vnet.net
- Subject: [mg84672] Re: [mg84644] Re: Give a list of options in Mathematica 6
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Wed, 9 Jan 2008 03:46:10 -0500 (EST)
- Reply-to: hanlonr at cox.net
Attributes[Plot]
{HoldAll,Protected}
Attributes[ListPlot]
{Protected}
Bob Hanlon
---- Giacomo Ciani <jackspam79 at gmail.com> wrote:
> On 7 Gen, 13:28, Bob Hanlon <hanl... at cox.net> wrote:
> > Attributes[Plot]
> >
> > {HoldAll,Protected}
> >
> > opts = {PlotRange -> {0, 1}, AxesOrigin -> {0, 0.5}};
> >
> > Plot[x, {x, 0, 1}, Evaluate[opts]]
> >
> > Bob Hanlon
> >
> > ---- Giacomo Ciani <jackspa... at gmail.com> wrote:
> >
> > > Hi all,
> >
> > > maybe my question is stupid, but I was unable to find an answer after
> > > some hours searching in google.
> >
> > > As far as I remember, in Mathematica 5 i was able to "reuse" a list of
> > > options this way:
> >
> > > opts = {Opt1->Val1,Opt2->Val2,...}
> >
> > > Plot[f[x],{x,0,100},opts]
> > > Plot[g[x],{x,20,30},opts]
> > > Plot[h[z],{z,-10,10},opts]
> > > ...
> >
> > > Noe I'm unable to replicate this in mathematica 6. Cut and paste of a
> > > sample notebook:
> >
> > > In[65]:= opts = {PlotRange -> {0, 1}, AxesOrigin -> {0, 0.5}}
> >
> > > Out[65]= {PlotRange -> {0, 1}, AxesOrigin -> {0, 0.5}}
> >
> > > In[66]:= Plot[x, {x, 0, 1}, opts]
> >
> > > During evaluation of In[66]:= Plot::nonopt: Options expected (instead
> > > \
> > > of opts) beyond position 2 in Plot[x,{x,0,1},opts]. An option must be
> > > \
> > > a rule or a list of rules. >>
> >
> > > Out[66]= Plot[x, {x, 0, 1}, opts]
> >
> > > I thought opt WAS a list of rules, but mathematica doesn't seem to
> > > agree... :-(
> >
> > > Were I'm wrong?
> >
> > > Thanks
> >
> > > Giacomo
>
> I all. Thank you very much, it works!
>
> Just one more curisity: a have a notebook written by someone else with
> this two lines (among many others!)
>
> specs = {TextStyle -> {FontSize -> 24, FontWeight -> "Bold"},
> Frame -> True, Axes -> False, FrameStyle -> {Thickness[.005]},
> GridLines -> {Flatten[
> Table[kk + Log[10, jj], {kk, -16, 8}, {jj, 1, 9}]],
> Flatten[Table[kk + Log[10, jj], {kk, -100, 100}, {jj, 1, 9}]]},
> FrameTicks -> {Table[{kk,
> SuperscriptBox[10, kk] // DisplayForm}, {kk, -16, 8, 1}],
> Table[{kk, SuperscriptBox[10, kk] // DisplayForm}, {kk, -100,
> 100, 1}], None, None}};
>
>
> plS11t = ListPlot[
> Transpose[{nuspt[[All, 1]], 1/2 Log[10, nuspt[[All, 2]]]}],
> PlotJoined -> True, PlotStyle -> {Thickness[.003]}, specs,
> DisplayFunction -> Identity]
>
> An it works! I can't figure out what's the difference... is the
> behaviour of the ListPlot function different from that of Plot?
>
> Thanks again
>
> Giacomo
>