Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: "Sticky" options when using Plot[] -- bug or feature?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg99451] Re: [mg99403] "Sticky" options when using Plot[] -- bug or feature?
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Wed, 6 May 2009 05:22:04 -0400 (EDT)
  • Reply-to: hanlonr at cox.net

SetOptions is permanent for the session or at least until the next SetOptions. If you want option settings to be temporary for a specific plot, then set the options within that Plot statement. Alternatively, if you want to use SetOptions and then subsequently restore every option to its original desault value without having to respecify each option that you changed, just remember them all.

defaultPlotOpts = Options[Plot];

p1 = Plot[Cos[x], {x, -Pi, Pi}]

<< PlotLegends`

bs = {FontFamily -> "Arial", FontSize -> 14, FontWeight -> Bold};

SetOptions[Plot, Frame -> True, FrameStyle -> AbsoluteThickness[2], 
  GridLines -> Automatic, 
  PlotStyle -> {{Red, AbsoluteThickness[2]}, {Black, 
     AbsoluteThickness[2]}, {Blue, AbsoluteThickness[2]}, {Darker@Green, 
     AbsoluteThickness[2]}}, BaseStyle -> bs];

Note that the Options set within the Plot statement below override the defaults (which are now the original defaults as modified by your SetOptions).

Plot[{Sin[x], Cos[x], Tan[x]}, {x, 0, 1}, 
 PlotStyle -> {Directive[Blue, Thick], Directive[Thick, Red, DotDashed], 
   Directive[Thick, Green, Dotted]}, Background -> LightOrange, 
 PlotLegend -> {"sin x", "cos x", "tan x"}, LegendPosition -> {-.65, -.15}, 
 LegendOrientation -> Vertical, LegendBackground -> LightPurple, 
 LegendShadow -> {.02, -.02}, LegendSize -> {0.3, 0.35}, 
 FrameLabel -> {"x", "trig functions"}]

Restoring all Plot options to the original defaults:

SetOptions[Plot, defaultPlotOpts];

p2 = Plot[Cos[x], {x, -Pi, Pi}]

The two Cos Plots are identical

p1 === p2

True


Bob Hanlon

---- Bob F <deepyogurt at gmail.com> wrote: 

=============
Any idea why the first and last "Plot[Cos[x], {x, -Pi, Pi}]" below
come out so much differently? It would appear that some of the options
are a bit "sticky" in the sense that they are not reset for the second
"Plot[Cos[x], {x, -Pi, Pi}]". Is this a bug or a feature? And make
sure that you start with a fresh kernel in case something has already
been done for the first Plot[] call ...

Plot[Cos[x], {x, -Pi, Pi}]

<< PlotLegends`
bs = {FontFamily -> "Arial", FontSize -> 14, FontWeight -> Bold};
SetOptions[Plot, Frame -> True, FrameStyle -> AbsoluteThickness[2],
  GridLines -> Automatic,
  PlotStyle -> {{Red, AbsoluteThickness[2]}, {Black,
     AbsoluteThickness[2]}, {Blue,
     AbsoluteThickness[2]}, {Darker@Green, AbsoluteThickness[2]}},
  BaseStyle -> bs];
Plot[{Sin[x], Cos[x], Tan[x]}, {x, 0, 1},
 PlotStyle -> {Directive[Blue, Thick],
   Directive[Thick, Red, DotDashed], Directive[Thick, Green, Dotted]},
  Background -> LightOrange,
 PlotLegend -> {"sin x", "cos x", "tan x"},
 LegendPosition -> {-.6, 0.1}, LegendOrientation -> Vertical,
 LegendBackground -> LightPurple, LegendShadow -> {.02, -.02},
 LegendSize -> {0.3, 0.35}, FrameLabel -> {"x", "trig functions"}]

Plot[Cos[x], {x, -Pi, Pi}]

Please let me know if you find the same problem. I tried this on a Mac
OS X 10.5.6 system with version 7.0.1 of Mathematica. Thanks...

-Bob




  • Prev by Date: Re: "Sticky" options when using Plot[] -- bug or feature?
  • Next by Date: Re: programmatically rotating a function plot
  • Previous by thread: Re: "Sticky" options when using Plot[] -- bug or feature?
  • Next by thread: Some function like Position[] but uses criteria, not pattern?