You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@climate.apache.org by go...@apache.org on 2017/02/23 22:03:30 UTC
climate git commit: Make automatic contour intervals consistent
between matplotlib versions
Repository: climate
Updated Branches:
refs/heads/master 90b1b9ffe -> bd1b8edef
Make automatic contour intervals consistent between matplotlib versions
Project: http://git-wip-us.apache.org/repos/asf/climate/repo
Commit: http://git-wip-us.apache.org/repos/asf/climate/commit/bd1b8ede
Tree: http://git-wip-us.apache.org/repos/asf/climate/tree/bd1b8ede
Diff: http://git-wip-us.apache.org/repos/asf/climate/diff/bd1b8ede
Branch: refs/heads/master
Commit: bd1b8edef58b73abfaf873d46bebf125b8fbc8c5
Parents: 90b1b9f
Author: Alex Goodman <ag...@users.noreply.github.com>
Authored: Wed Feb 22 16:11:15 2017 -0800
Committer: Alex Goodman <ag...@users.noreply.github.com>
Committed: Wed Feb 22 16:11:15 2017 -0800
----------------------------------------------------------------------
ocw/plotter.py | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/climate/blob/bd1b8ede/ocw/plotter.py
----------------------------------------------------------------------
diff --git a/ocw/plotter.py b/ocw/plotter.py
index dafa8ad..9e2e0ad 100755
--- a/ocw/plotter.py
+++ b/ocw/plotter.py
@@ -65,20 +65,25 @@ def _nice_intervals(data, nlevs):
data = data.ravel()
mn = mstats.scoreatpercentile(data, 5)
mx = mstats.scoreatpercentile(data, 95)
- # if there min less than 0 and
- # or max more than 0
- # put 0 in center of color bar
+ # if min less than 0 and or max more than 0 put 0 in center of color bar
if mn < 0 and mx > 0:
level = max(abs(mn), abs(mx))
mnlvl = -1 * level
mxlvl = level
- # if min is larger than 0 then
- # have color bar between min and max
+ # if min is larger than 0 then have color bar between min and max
else:
mnlvl = mn
mxlvl = mx
+
+ # hack to make generated intervals from mpl the same for all versions
+ autolimit_mode = mpl.rcParams.get('axes.autolimit_mode')
+ if autolimit_mode:
+ mpl.rc('axes', autolimit_mode='round_numbers')
+
locator = mpl.ticker.MaxNLocator(nlevs)
clevs = locator.tick_values(mnlvl, mxlvl)
+ if autolimit_mode:
+ mpl.rc('axes', autolimit_mode=autolimit_mode)
# Make sure the bounds of clevs are reasonable since sometimes
# MaxNLocator gives values outside the domain of the input data