Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENH: Change default value of useOffset to false in ScalarFormatter. #2576

Closed
wants to merge 3 commits into from

Conversation

untom
Copy link

@untom untom commented Nov 4, 2013

This commit changes the default value of useOffset to false in the ScalarFormatter.

This closes Issue #461, where the general consensus seems to be that useOffset should be better set to false. Personally, I think that is a saner default value, as using the offset can be quite confusing.

@tacaswell
Copy link
Member

👎 This breaks reverse compatibility .

@efiring
Copy link
Member

efiring commented Nov 4, 2013

The advantage of the present default is that it works--in the sense of giving an intelligible plot, with distinguishable tick labels--for the widest possible variety of data ranges. That is why it was developed and made the default, long ago. If the default is changed, I expect we will see protests from those for whom the old default was "sane" and the new one is not.

We have struggled a bit with the algorithm for calculating the offset; probably it could be improved, but this is harder than it might seem.

I wonder whether some change in the way the offset is formatted and presented on the plot might help reduce the surprise and puzzlement factor.

@untom
Copy link
Author

untom commented Nov 4, 2013

Of course breaking reverse compatibility is an issue. However in this case the old behavior is very easily restorability, so nothing is truly lost. But of course, changing the default would force people who prefer the current setting to do a lot of needless API changes.

But while I understand that users might find the way of doing it preferable, at least for some of us it is definitely puzzling and irritating (apart from the github issue, there are some questions on stackoverflow etc. about this, as well), and I'd argue that not using an offset is a saner and much easier to understand default. Everyone knows at first sight what the axes mean -- it just doesn't have as much potential for misunderstanding, while useOffset=True definitely does have some. Which is why I think it is not as userfriendly. And I think "it breaks backwards compatibilty" is not a strong enough reason to not even consider this.

Now, with all that said, personally I'd be satisfied if #2401 would get merged and everyone could set their own default as they please. Because right now, people have to call set_major_formatter on each plot, which is very annoying.

(Let me know if there is still interest in this patch, then I'll look into the Travis failure).

@tacaswell
Copy link
Member

Closing because #2401 which provides an rcParam for the value of useoffset has been merged

@tacaswell tacaswell closed this Nov 8, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants