Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

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

share|improve this question
3  
I don't have an authorative answer, but I have expressed my opinion on global options in this answer: mathematica.stackexchange.com/questions/332/…, which may be somewhat relevant. –  Leonid Shifrin Feb 3 '12 at 20:37
add comment

migrated from stackoverflow.com Feb 3 '12 at 20:27

This question came from our site for professional and enthusiast programmers.

2 Answers

up vote 5 down vote accepted

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]
share|improve this answer
    
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. –  Leonid Shifrin Feb 3 '12 at 21:06
    
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. –  Leonid Shifrin Feb 3 '12 at 21:38
    
Thank I was looking for something like you ListPlot rewrite. –  Davorak Feb 3 '12 at 21:48
    
@Davorak, glad I could help, and thanks for the Accept. –  Mr.Wizard Feb 3 '12 at 21:55
add comment

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

share|improve this answer
    
Thanks for the heads up about the fix. –  Davorak Feb 5 '12 at 1:54
    
@Brett Champion I just ran into the same problem (I think) in 8.0.4 –  George Wolfe Oct 21 '12 at 21:38
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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