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 >