10
$\begingroup$

Bug introduced in 7.0.1 or earlier and fixed in 8.0.1'


Why does the following plot no use the global PlotMarkers option?

SetOptions[ListPlot, {ImageSize -> Automatic, PlotMarkers -> {"A"}}];
ListPlot[Range[10]]

Checking the global options for ListPlot shows that PlotMarkers is set on a global level:

Options[ListPlot, {PlotMarkers}] -> {PlotMarkers -> {"A"}}

If I just feed the ListPlot function all of it global options it plots correctly, but it defeats the purpose of having globally set defaults.

ListPlot[Range[10], Options[ListPlot]]

To my knowledge ListPlot[Range[10]] and ListPlot[Range[10], Options[ListPlot]] should always return the same result but in this case it does not.

I'm running Mathematica 8.0.0.0 on Mac OS X 10.6.8

$\endgroup$
1

2 Answers 2

7
$\begingroup$

In version 7 it appears that ListPlot only uses global Options[] that are acceptable to Graphics (probably via FilterRules). You can work around this manually with explicit declaration:

SetOptions[ListPlot, {PlotMarkers -> {"A"}, Filling -> Axis}];

ListPlot[Range[10], Options[ListPlot]]

Mathematica graphics

If you want to make this fix automatic you can do this:

Unprotect[ListPlot];

ListPlot[args___] :=
  Block[{$lpOptsFix = True},
    ListPlot[args, Options[ListPlot]]
  ] /; ! TrueQ[$lpOptsFix]
$\endgroup$
4
  • $\begingroup$ Your last suggestion is pretty much going down the same road as I did when constructing the option configuratin manager which I linked to in the comment above. $\endgroup$ Commented Feb 3, 2012 at 21:06
  • $\begingroup$ I never meant any opposition. Just made a note to link things, because I think there is more value when related discussions or techniques presented in various places are linked together. Totally agree on complementarity. $\endgroup$ Commented Feb 3, 2012 at 21:38
  • $\begingroup$ Thank I was looking for something like you ListPlot rewrite. $\endgroup$
    – Davorak
    Commented Feb 3, 2012 at 21:48
  • $\begingroup$ @Davorak, glad I could help, and thanks for the Accept. $\endgroup$
    – Mr.Wizard
    Commented Feb 3, 2012 at 21:55
10
$\begingroup$

Looks like a bug that has been fixed for V8.0.1.

$\endgroup$
2
  • $\begingroup$ Thanks for the heads up about the fix. $\endgroup$
    – Davorak
    Commented Feb 5, 2012 at 1:54
  • $\begingroup$ @Brett Champion I just ran into the same problem (I think) in 8.0.4 $\endgroup$ Commented Oct 21, 2012 at 21:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.