From 5ff7e371ce5e757a48966efef4baf56301894e27 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Mon, 14 Dec 2015 13:21:39 -0500 Subject: [PATCH 01/10] Merge pull request #5594 from tacaswell/fix_logformatterexponent FIX: formatting in LogFormatterExponent --- lib/matplotlib/tests/test_ticker.py | 179 ++++++++++++++++++++++++++-- lib/matplotlib/ticker.py | 13 +- 2 files changed, 177 insertions(+), 15 deletions(-) diff --git a/lib/matplotlib/tests/test_ticker.py b/lib/matplotlib/tests/test_ticker.py index 342cad03e2f6..438be20aa7ce 100644 --- a/lib/matplotlib/tests/test_ticker.py +++ b/lib/matplotlib/tests/test_ticker.py @@ -159,20 +159,28 @@ def test_SymmetricalLogLocator_set_params(): nose.tools.assert_equal(sym.numticks, 8) +def _logfe_helper(formatter, base, locs, i, expected_result): + vals = base**locs + labels = [formatter(x, pos) for (x, pos) in zip(vals, i)] + nose.tools.assert_equal(labels, expected_result) + + def test_LogFormatterExponent(): class FakeAxis(object): """Allow Formatter to be called without having a "full" plot set up.""" + def __init__(self, vmin=1, vmax=10): + self.vmin = vmin + self.vmax = vmax + def get_view_interval(self): - return 1, 10 + return self.vmin, self.vmax i = np.arange(-3, 4, dtype=float) expected_result = ['-3', '-2', '-1', '0', '1', '2', '3'] - for base in [2, 5, 10, np.pi, np.e]: + for base in [2, 5.0, 10.0, np.pi, np.e]: formatter = mticker.LogFormatterExponent(base=base) - formatter.axis = FakeAxis() - vals = base**i - labels = [formatter(x, pos) for (x, pos) in zip(vals, i)] - nose.tools.assert_equal(labels, expected_result) + formatter.axis = FakeAxis(1, base**4) + yield _logfe_helper, formatter, base, i, i, expected_result # Should be a blank string for non-integer powers if labelOnlyBase=True formatter = mticker.LogFormatterExponent(base=10, labelOnlyBase=True) @@ -185,10 +193,161 @@ def get_view_interval(self): expected_result = ['0.1', '1e-05', '3.14', '0.2', '-0.2', '-1e-05'] for base in [2, 5, 10, np.pi, np.e]: formatter = mticker.LogFormatterExponent(base, labelOnlyBase=False) - formatter.axis = FakeAxis() - vals = base**locs - labels = [formatter(x, pos) for (x, pos) in zip(vals, i)] - nose.tools.assert_equal(labels, expected_result) + formatter.axis = FakeAxis(1, base**10) + yield _logfe_helper, formatter, base, locs, i, expected_result + + expected_result = ['3', '5', '12', '42'] + locs = np.array([3, 5, 12, 42], dtype='float') + for base in [2, 5.0, 10.0, np.pi, np.e]: + formatter = mticker.LogFormatterExponent(base, labelOnlyBase=False) + formatter.axis = FakeAxis(1, base**50) + yield _logfe_helper, formatter, base, locs, i, expected_result + + +def _pprint_helper(value, domain, expected): + fmt = mticker.LogFormatter() + label = fmt.pprint_val(value, domain) + nose.tools.assert_equal(label, expected) + + +def test_logformatter_pprint(): + test_cases = ( + (3.141592654e-05, 0.001, '3.142e-5'), + (0.0003141592654, 0.001, '3.142e-4'), + (0.003141592654, 0.001, '3.142e-3'), + (0.03141592654, 0.001, '3.142e-2'), + (0.3141592654, 0.001, '3.142e-1'), + (3.141592654, 0.001, '3.142'), + (31.41592654, 0.001, '3.142e1'), + (314.1592654, 0.001, '3.142e2'), + (3141.592654, 0.001, '3.142e3'), + (31415.92654, 0.001, '3.142e4'), + (314159.2654, 0.001, '3.142e5'), + (1e-05, 0.001, '1e-5'), + (0.0001, 0.001, '1e-4'), + (0.001, 0.001, '1e-3'), + (0.01, 0.001, '1e-2'), + (0.1, 0.001, '1e-1'), + (1, 0.001, '1'), + (10, 0.001, '10'), + (100, 0.001, '100'), + (1000, 0.001, '1000'), + (10000, 0.001, '1e4'), + (100000, 0.001, '1e5'), + (3.141592654e-05, 0.015, '0'), + (0.0003141592654, 0.015, '0'), + (0.003141592654, 0.015, '0.003'), + (0.03141592654, 0.015, '0.031'), + (0.3141592654, 0.015, '0.314'), + (3.141592654, 0.015, '3.142'), + (31.41592654, 0.015, '31.416'), + (314.1592654, 0.015, '314.159'), + (3141.592654, 0.015, '3141.593'), + (31415.92654, 0.015, '31415.927'), + (314159.2654, 0.015, '314159.265'), + (1e-05, 0.015, '0'), + (0.0001, 0.015, '0'), + (0.001, 0.015, '0.001'), + (0.01, 0.015, '0.01'), + (0.1, 0.015, '0.1'), + (1, 0.015, '1'), + (10, 0.015, '10'), + (100, 0.015, '100'), + (1000, 0.015, '1000'), + (10000, 0.015, '10000'), + (100000, 0.015, '100000'), + (3.141592654e-05, 0.5, '0'), + (0.0003141592654, 0.5, '0'), + (0.003141592654, 0.5, '0.003'), + (0.03141592654, 0.5, '0.031'), + (0.3141592654, 0.5, '0.314'), + (3.141592654, 0.5, '3.142'), + (31.41592654, 0.5, '31.416'), + (314.1592654, 0.5, '314.159'), + (3141.592654, 0.5, '3141.593'), + (31415.92654, 0.5, '31415.927'), + (314159.2654, 0.5, '314159.265'), + (1e-05, 0.5, '0'), + (0.0001, 0.5, '0'), + (0.001, 0.5, '0.001'), + (0.01, 0.5, '0.01'), + (0.1, 0.5, '0.1'), + (1, 0.5, '1'), + (10, 0.5, '10'), + (100, 0.5, '100'), + (1000, 0.5, '1000'), + (10000, 0.5, '10000'), + (100000, 0.5, '100000'), + (3.141592654e-05, 5, '0'), + (0.0003141592654, 5, '0'), + (0.003141592654, 5, '0'), + (0.03141592654, 5, '0.03'), + (0.3141592654, 5, '0.31'), + (3.141592654, 5, '3.14'), + (31.41592654, 5, '31.42'), + (314.1592654, 5, '314.16'), + (3141.592654, 5, '3141.59'), + (31415.92654, 5, '31415.93'), + (314159.2654, 5, '314159.27'), + (1e-05, 5, '0'), + (0.0001, 5, '0'), + (0.001, 5, '0'), + (0.01, 5, '0.01'), + (0.1, 5, '0.1'), + (1, 5, '1'), + (10, 5, '10'), + (100, 5, '100'), + (1000, 5, '1000'), + (10000, 5, '10000'), + (100000, 5, '100000'), + (3.141592654e-05, 100, '0'), + (0.0003141592654, 100, '0'), + (0.003141592654, 100, '0'), + (0.03141592654, 100, '0'), + (0.3141592654, 100, '0.3'), + (3.141592654, 100, '3.1'), + (31.41592654, 100, '31.4'), + (314.1592654, 100, '314.2'), + (3141.592654, 100, '3141.6'), + (31415.92654, 100, '31415.9'), + (314159.2654, 100, '314159.3'), + (1e-05, 100, '0'), + (0.0001, 100, '0'), + (0.001, 100, '0'), + (0.01, 100, '0'), + (0.1, 100, '0.1'), + (1, 100, '1'), + (10, 100, '10'), + (100, 100, '100'), + (1000, 100, '1000'), + (10000, 100, '10000'), + (100000, 100, '100000'), + (3.141592654e-05, 1000000.0, '3.1e-5'), + (0.0003141592654, 1000000.0, '3.1e-4'), + (0.003141592654, 1000000.0, '3.1e-3'), + (0.03141592654, 1000000.0, '3.1e-2'), + (0.3141592654, 1000000.0, '3.1e-1'), + (3.141592654, 1000000.0, '3.1'), + (31.41592654, 1000000.0, '3.1e1'), + (314.1592654, 1000000.0, '3.1e2'), + (3141.592654, 1000000.0, '3.1e3'), + (31415.92654, 1000000.0, '3.1e4'), + (314159.2654, 1000000.0, '3.1e5'), + (1e-05, 1000000.0, '1e-5'), + (0.0001, 1000000.0, '1e-4'), + (0.001, 1000000.0, '1e-3'), + (0.01, 1000000.0, '1e-2'), + (0.1, 1000000.0, '1e-1'), + (1, 1000000.0, '1'), + (10, 1000000.0, '10'), + (100, 1000000.0, '100'), + (1000, 1000000.0, '1000'), + (10000, 1000000.0, '1e4'), + (100000, 1000000.0, '1e5') + ) + + for value, domain, expected in test_cases: + yield _pprint_helper, value, domain, expected def test_use_offset(): diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index 0d6edfb21bd5..29f654314c59 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -746,13 +746,15 @@ def pprint_val(self, x, d): else: fmt = '%1.3f' s = fmt % x - #print d, x, fmt, s + tup = s.split('e') if len(tup) == 2: mantissa = tup[0].rstrip('0').rstrip('.') - sign = tup[1][0].replace('+', '') - exponent = tup[1][1:].lstrip('0') - s = '%se%s%s' % (mantissa, sign, exponent) + exponent = int(tup[1]) + if exponent: + s = '%se%d' % (mantissa, exponent) + else: + s = mantissa else: s = s.rstrip('0').rstrip('.') return s @@ -783,7 +785,8 @@ def __call__(self, x, pos=None): elif abs(fx) < 1: s = '%1.0g' % fx else: - s = self.pprint_val(fx, d) + fd = math.log(abs(d)) / math.log(b) + s = self.pprint_val(fx, fd) if sign == -1: s = '-%s' % s From dee9757e711a4325174b7e1d4576ce15a5655172 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Mon, 14 Dec 2015 13:23:39 -0500 Subject: [PATCH 02/10] Merge pull request #5553 from efiring/qtontop qt: raise each new window --- lib/matplotlib/backends/backend_qt5.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index 1adda350b9bf..d1207b1e88b1 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -490,6 +490,7 @@ def notify_axes_change(fig): if self.toolbar is not None: self.toolbar.update() self.canvas.figure.add_axobserver(notify_axes_change) + self.window.raise_() @QtCore.Slot() def _show_message(self, s): From 4f40a9da031908b96b92f05de9da38ad1b3c06be Mon Sep 17 00:00:00 2001 From: Jens Hedegaard Nielsen Date: Tue, 15 Dec 2015 09:47:35 +0000 Subject: [PATCH 03/10] Merge pull request #5586 from mdboom/errorbar-extension-arrows Fix errorbar extension arrows --- lib/matplotlib/axes/_axes.py | 16 +- lib/matplotlib/lines.py | 4 +- lib/matplotlib/markers.py | 48 +- .../test_axes/errorbar_limits.pdf | Bin 14410 -> 17332 bytes .../test_axes/errorbar_limits.png | Bin 37201 -> 37132 bytes .../test_axes/errorbar_limits.svg | 794 +++++++++--------- .../test_axes/errorbar_mixed.svg | 676 +++++++-------- .../test_axes/errorbar_zorder.svg | 178 ++-- .../test_axes/marker_styles.png | Bin 17604 -> 19514 bytes 9 files changed, 878 insertions(+), 838 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index a74084c6d540..6aa6de873e3e 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -2923,9 +2923,9 @@ def xywhere(xs, ys, mask): barcols.append(self.hlines(yo, lo, ro, **lines_kw)) rightup, yup = xywhere(right, y, xlolims & everymask) if self.xaxis_inverted(): - marker = mlines.CARETLEFT + marker = mlines.CARETLEFTBASE else: - marker = mlines.CARETRIGHT + marker = mlines.CARETRIGHTBASE caplines.extend( self.plot(rightup, yup, ls='None', marker=marker, **plot_kw)) @@ -2939,9 +2939,9 @@ def xywhere(xs, ys, mask): barcols.append(self.hlines(yo, lo, ro, **lines_kw)) leftlo, ylo = xywhere(left, y, xuplims & everymask) if self.xaxis_inverted(): - marker = mlines.CARETRIGHT + marker = mlines.CARETRIGHTBASE else: - marker = mlines.CARETLEFT + marker = mlines.CARETLEFTBASE caplines.extend( self.plot(leftlo, ylo, ls='None', marker=marker, **plot_kw)) @@ -2987,9 +2987,9 @@ def xywhere(xs, ys, mask): barcols.append(self.vlines(xo, lo, uo, **lines_kw)) xup, upperup = xywhere(x, upper, lolims & everymask) if self.yaxis_inverted(): - marker = mlines.CARETDOWN + marker = mlines.CARETDOWNBASE else: - marker = mlines.CARETUP + marker = mlines.CARETUPBASE caplines.extend( self.plot(xup, upperup, ls='None', marker=marker, **plot_kw)) @@ -3003,9 +3003,9 @@ def xywhere(xs, ys, mask): barcols.append(self.vlines(xo, lo, uo, **lines_kw)) xlo, lowerlo = xywhere(x, lower, uplims & everymask) if self.yaxis_inverted(): - marker = mlines.CARETUP + marker = mlines.CARETUPBASE else: - marker = mlines.CARETDOWN + marker = mlines.CARETDOWNBASE caplines.extend( self.plot(xlo, lowerlo, ls='None', marker=marker, **plot_kw)) diff --git a/lib/matplotlib/lines.py b/lib/matplotlib/lines.py index cba5d6f04b84..5e65ce1356d3 100644 --- a/lib/matplotlib/lines.py +++ b/lib/matplotlib/lines.py @@ -30,7 +30,9 @@ # Imported here for backward compatibility, even though they don't # really belong. from matplotlib.markers import TICKLEFT, TICKRIGHT, TICKUP, TICKDOWN -from matplotlib.markers import CARETLEFT, CARETRIGHT, CARETUP, CARETDOWN +from matplotlib.markers import ( + CARETLEFT, CARETRIGHT, CARETUP, CARETDOWN, + CARETLEFTBASE, CARETRIGHTBASE, CARETUPBASE, CARETDOWNBASE) def segment_hits(cx, cy, x, y, radius): diff --git a/lib/matplotlib/markers.py b/lib/matplotlib/markers.py index 8eef2ae20ebd..2310e6dc3fcd 100644 --- a/lib/matplotlib/markers.py +++ b/lib/matplotlib/markers.py @@ -35,10 +35,13 @@ TICKRIGHT tickright TICKUP tickup TICKDOWN tickdown -CARETLEFT caretleft -CARETRIGHT caretright -CARETUP caretup -CARETDOWN caretdown +CARETLEFT caretleft (centered at tip) +CARETRIGHT caretright (centered at tip) +CARETUP caretup (centered at tip) +CARETDOWN caretdown (centered at tip) +CARETLEFTBASE caretleft (centered at base) +CARETRIGHTBASE caretright (centered at base) +CARETUPBASE caretup (centered at base) "None" nothing None nothing " " nothing @@ -91,7 +94,8 @@ # special-purpose marker identifiers: (TICKLEFT, TICKRIGHT, TICKUP, TICKDOWN, - CARETLEFT, CARETRIGHT, CARETUP, CARETDOWN) = list(xrange(8)) + CARETLEFT, CARETRIGHT, CARETUP, CARETDOWN, + CARETLEFTBASE, CARETRIGHTBASE, CARETUPBASE, CARETDOWNBASE) = list(xrange(12)) class MarkerStyle(object): @@ -128,6 +132,10 @@ class MarkerStyle(object): CARETRIGHT: 'caretright', CARETUP: 'caretup', CARETDOWN: 'caretdown', + CARETLEFTBASE: 'caretleftbase', + CARETRIGHTBASE: 'caretrightbase', + CARETUPBASE: 'caretupbase', + CARETDOWNBASE: 'caretdownbase', "None": 'nothing', None: 'nothing', ' ': 'nothing', @@ -779,6 +787,36 @@ def _set_caretright(self): self._path = self._caret_path self._joinstyle = 'miter' + _caret_path_base = Path([[-1.0, 0.0], [0.0, -1.5], [1.0, 0]]) + + def _set_caretdownbase(self): + self._transform = Affine2D().scale(0.5) + self._snap_threshold = 3.0 + self._filled = False + self._path = self._caret_path_base + self._joinstyle = 'miter' + + def _set_caretupbase(self): + self._transform = Affine2D().scale(0.5).rotate_deg(180) + self._snap_threshold = 3.0 + self._filled = False + self._path = self._caret_path_base + self._joinstyle = 'miter' + + def _set_caretleftbase(self): + self._transform = Affine2D().scale(0.5).rotate_deg(270) + self._snap_threshold = 3.0 + self._filled = False + self._path = self._caret_path_base + self._joinstyle = 'miter' + + def _set_caretrightbase(self): + self._transform = Affine2D().scale(0.5).rotate_deg(90) + self._snap_threshold = 3.0 + self._filled = False + self._path = self._caret_path_base + self._joinstyle = 'miter' + _x_path = Path([[-1.0, -1.0], [1.0, 1.0], [-1.0, 1.0], [1.0, -1.0]], [Path.MOVETO, Path.LINETO, diff --git a/lib/matplotlib/tests/baseline_images/test_axes/errorbar_limits.pdf b/lib/matplotlib/tests/baseline_images/test_axes/errorbar_limits.pdf index 30036fa5f63797a5b804830a9e3ecc0061e26078..25dee19e746ce390471c1de5507780e5ad28cf46 100644 GIT binary patch delta 9594 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 S-Fc8Wkbr`zsS&MAVgCapAw*OF delta 7257 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 DWHw0# diff --git a/lib/matplotlib/tests/baseline_images/test_axes/errorbar_limits.png b/lib/matplotlib/tests/baseline_images/test_axes/errorbar_limits.png index b6e015a48efb9042a0986256da2ae76b075c9891..9a8e1067d0fcd36d7d8a58bbb7fdb3f7ef66aeea 100644 GIT binary patch literal 37132 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�^drp8cfchS!NHu9%=whCON zsS-+se&ELa`wQZpW;?$jjO;tTw1|+gAw#^OoR^4h5ji%6SN}YkfG5dVPe=seq2S+X@lHB z>jD<;!`IdS$9@0z0sjAA;B{P|U-xDa0|Hji@ACx}D$qB*h%Ek-lM@b)N$8dU0KL_A zAxPj-7#SH2t#cq#8?Ir3Vs8hs+Rg8r1xbKT{i0Jq4`O|O!0Jg3{*0`NiOJjUQ_x;S zT(^&*SJ~M9fwG{($7ad7$UM(aookL(a$IHuuRU8I7X@4>p48a^%Y*ovKCpG7JrY1- zY8Ld^KE#Q#T%RBR1f*w%NgUJN-G^IGf1e!Oc;R_Mtu9L?eIF53gp@mU5pOj1Yn(tg z-Xz@{T;eA1VbnlGdgx_MO-+*Obyg8aj}!Uf%B`iP|9tzF)EQA0^v19u?yi6Uqzcg= zUV%uk-DFK5g|n6Z5Ima-r3pVta$+1 z%NZ((A>iVtfOFoC(( z7kC6LEwg&(V)dR_i-Km^d#EN_Z%Bdf77!XLAH`#cs8E_fFAiIxj;<~~N?UYHhvoyj zI>`D!I(;DI^QR>!lm`R{%hr3Ieub2F++T#M?H|l)v?^Ts_iqbO*qsJ}^}Dc^Ai2k2 zx;5K+05bI9VPQ$OVt@#62Yu6?bL&4K|A|XX<4eJcLXsAd85Oq-!n{tVPvKtgTq?0BR65$`v&nVH!%aLH7-?y%8A z@1UUFxb8Ync#P-qn#iBgQbLg8fdKAy=7R(vD3-3QmYpvHIdxyq5Tfw(^c;_V+kwOH zeKPaT_7J)Uh^jV015}^fML`k-VnCG<3&EV13Rw?rMrC|-0eMxRQFskd118uy zI{5~TP|4^ieyW1RUEr@cI)`(Bnx;31Z;uHf)CE}%4!)3i}4D6#HN92cvE{j9@K}TLDmR? z$p82(K@0B6$Lb)>z+hUD*^#G-vd^CJtqkTMlMVXUkHIN80OeGK>Y}n*fkHu1u`&6s zKag%@PJI4+WeOHE|Epb#kD;Jk3LqTTo0!bS_o8@`LADWIEhRwx37{;KDj%8x|BDzo zM6MRO5EKBfz1m;zLX%RemfIO3FA?U)(fKV$cuY(n!r}qwnbA?8RrUsn!DQGCzlxuR zzOQAuXHe}#43RiO5F-qADcE$+v0D_cNV-#jZe|1M9`S<@_3d#4-SqwSc8&Fm71eMh z=(>CKGhTG`{PtL>wLfSg=IWPUg!-?*eprXZ;n5Myi~PD>7&W*~tQQziJ)jWy0t{$- z2;Ijlofo`7RUH5;dm82kn)F_Tic3f&BesV2pH&%mU|0O&odPTVRpeVNuVo z6NvJ)smDC|Zva4l9UZjjA`1+r34QtUTM+k>U0)A_m|XNVsQv=~IKrO}Hkw27_|FYk z+vZT1YCvoNC`98yPe)X>m?jR`>;BKdLrJ%>kXH|9RLPH8X8C3mGsr2q4`gd~exawL z`r;8E@P~z$m*n(#UtUcO?X*4~2uq@K;%ZR?Shqr_H9ZutW01g6BLT9cT8l>EqEH^g zH8wV`0Z~;L-ntrescg*#@uq-87%*uygQ#-|^zqGr#ytkgkMx5HDm><2gRN$$F*mN5 za&EtI@s5o_Gb%*tE*YD^tvByKz5QtBD^pzBufR|EDM9y2arE0y#Ic{ulg%HS(-7YM z)N#j(IjB%m`+6(-hEn*|PalT18B@U~gA~v2 zKY!k@4j1SQ8AILxNZK7>aFC~X2x7=g&FqI_U?h$fi_2hq7WVd`k&%%%LEs!UL+d$V z&K1=uo240Bb_Pe;cgam_kCOv_s2x&3(_j!Bt8H+K6w?QKL9D|>Lqn5NSjZ2GR

i z0y-7oJqiYuG&2c$DOH}R$FR*`y?T|BnfY||49SCmoVWwX!4YN5)mvCuy@OG;fs--| zCsaN~(j9Lz8+c3y;M1o9!XZ#6)fr+CcTpX|^Gx{m?Hlr-h&SHT6UHKT4n$|%TMM00 zE`R^Tpt4Ls(l@ZMu+VZ9R_{Ad4sL_}TX*Q0R(9h00eOl!#V>4_tdDJNZJ~egumYCD zpYh7#BG1F^1q(a7ke91NPj1plS%V>AV`H0ziASUP#l^2|Ox1@51b`(JRnln%voK!a zz*1&EMc-=5|E|^ai9PJkh@H-X&j14bl9O}19whmN9$G?A)<13?9UZ}c?F`iTMRYDu z(a^kGTwH{vRkfixRapa>=)&$qsdliMshS+EFjAJpZh0>+uXu4+0r+By>UA>-W~pSD z+wTk8&imj{Py(t$SsX2uQ(C&`Ur_yX!I9^74hDE@!7vH!u#`<kG z&aig^3MiAnHeC+^!R#$F)Zhjv1N4rK=^qaB&#uN{?{7>ofI>k4Xu-m~ozUMB6MJl8 z0y=|i9M*7-hk$zkny2!9AJu}f6)w91psmK^Sa|!;9rTH%Rvl1QZLp|K0f?ZKuKpuV zgctrYFg*NJg5pHGt-bv*{Nek8Bj_A3LW?i@hIz$K>@qe!3KjOA3kQYzfM!IYqy;ds zQ78pDZxjmk4Id%(qsG8Qp;%d@Q7CV-e?N@E`2W&}&rs}7x{bKRzI(!uP>Qk-Wb*Hr Hy#BucJA6tv literal 37201 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 PQS#Ccq`urUc=>+-?cI@* diff --git a/lib/matplotlib/tests/baseline_images/test_axes/errorbar_limits.svg b/lib/matplotlib/tests/baseline_images/test_axes/errorbar_limits.svg index c217021aa9a4..5950b3eda312 100644 --- a/lib/matplotlib/tests/baseline_images/test_axes/errorbar_limits.svg +++ b/lib/matplotlib/tests/baseline_images/test_axes/errorbar_limits.svg @@ -27,338 +27,338 @@ z " style="fill:#ffffff;"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -366,70 +366,70 @@ L 234.327273 118.705179 +" id="ma827888171" style="stroke:#0000ff;stroke-width:0.500000;"/> - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + +" id="madc29dcfa5" style="stroke:#0000ff;stroke-width:0.500000;"/> - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - +" id="m99d2f0a5e6" style="stroke:#008000;stroke-width:0.500000;"/> - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + +" id="m519b25ee94" style="stroke:#008000;stroke-width:0.500000;"/> - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - + - - - - + + + + - - - - + + + + - +" id="mc2ec70c08e" style="stroke:#ff0000;stroke-width:0.500000;"/> - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + +" id="m7d4b7394d5" style="stroke:#ff0000;stroke-width:0.500000;"/> - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + - + - - - - + + + + - - - - + + + + - +" id="m9c6b21c7dd" style="stroke:#ff00ff;stroke-width:0.500000;"/> - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + +" id="mc3ac74f800" style="stroke:#ff00ff;stroke-width:0.500000;"/> - - - - - + + + + + - - - - - + + + + + - + - - - - + + + + - - - - + + + + - + - - - - + + + + - - - - + + + + - +" id="m78b73e4f9e" style="stroke:#000000;stroke-width:0.500000;"/> - - - - - - - - - - - + + + + + + + + + + + - + - - - - + + + + - + - - - - + + + + - + - - + + - + - - + + @@ -819,19 +819,19 @@ C -3.578535 -2.078319 -4 -1.060812 -4 0 C -4 1.060812 -3.578535 2.078319 -2.828427 2.828427 C -2.078319 3.578535 -1.060812 4 0 4 z -" id="mdcc3c2ddd6" style="stroke:#0000ff;stroke-width:0.500000;"/> +" id="m49a3d2d9af" style="stroke:#0000ff;stroke-width:0.500000;"/> - - - - - - - - - - - + + + + + + + + + + + @@ -860,20 +860,20 @@ L 518.4 43.2 +" id="m6252f7b7eb" style="stroke:#000000;stroke-width:0.500000;"/> - + +" id="mc9c6c285cf" style="stroke:#000000;stroke-width:0.500000;"/> - + @@ -907,12 +907,12 @@ Q 19.53125 74.21875 31.78125 74.21875 - + - + @@ -940,12 +940,12 @@ z - + - + @@ -983,12 +983,12 @@ Q 31.109375 20.453125 19.1875 8.296875 - + - + @@ -1034,12 +1034,12 @@ Q 46.96875 40.921875 40.578125 39.3125 - + - + @@ -1071,12 +1071,12 @@ z - + - + @@ -1119,20 +1119,20 @@ z +" id="mc378de4433" style="stroke:#000000;stroke-width:0.500000;"/> - + +" id="ma4f787a4c9" style="stroke:#000000;stroke-width:0.500000;"/> - + @@ -1162,12 +1162,12 @@ z - + - + @@ -1182,12 +1182,12 @@ z - + - + @@ -1202,12 +1202,12 @@ z - + - + @@ -1222,12 +1222,12 @@ z - + - + @@ -1242,12 +1242,12 @@ z - + - + @@ -1262,12 +1262,12 @@ z - + - + @@ -1282,12 +1282,12 @@ z - + - + @@ -1666,7 +1666,7 @@ Q 40.578125 54.546875 44.28125 53.078125 - + diff --git a/lib/matplotlib/tests/baseline_images/test_axes/errorbar_mixed.svg b/lib/matplotlib/tests/baseline_images/test_axes/errorbar_mixed.svg index d7b29e940058..be9353c223a4 100644 --- a/lib/matplotlib/tests/baseline_images/test_axes/errorbar_mixed.svg +++ b/lib/matplotlib/tests/baseline_images/test_axes/errorbar_mixed.svg @@ -27,28 +27,28 @@ z " style="fill:#ffffff;"/> - - - - - - - - @@ -56,29 +56,29 @@ L 214.036364 121.211578 +" id="mfa88964a34" style="stroke:#0000ff;stroke-width:0.500000;"/> - - - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + + + @@ -93,17 +93,17 @@ C -2.683901 -1.55874 -3 -0.795609 -3 0 C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 C -1.55874 2.683901 -0.795609 3 0 3 z -" id="m88a2383015" style="stroke:#000000;stroke-width:0.500000;"/> +" id="mb6e84590ae" style="stroke:#000000;stroke-width:0.500000;"/> - - - - - - - - - + + + + + + + + + @@ -132,68 +132,68 @@ L 274.909091 43.2 +" id="mc9acf5ec22" style="stroke:#000000;stroke-width:0.500000;"/> - + +" id="m1cc15a693a" style="stroke:#000000;stroke-width:0.500000;"/> - + - + - + - + - + - + - + - + - + @@ -204,20 +204,20 @@ L 0 4 +" id="m1d0ad5c632" style="stroke:#000000;stroke-width:0.500000;"/> - + +" id="m6040a52d0d" style="stroke:#000000;stroke-width:0.500000;"/> - + @@ -290,12 +290,12 @@ z - + - + @@ -310,12 +310,12 @@ z - + - + @@ -330,12 +330,12 @@ z - + - + @@ -365,12 +365,12 @@ z - + - + @@ -591,28 +591,28 @@ z " style="fill:#ffffff;"/> - - - - - - - - @@ -620,29 +620,29 @@ L 472.224823 195.998601 +" id="m35294528ed" style="stroke:#0000ff;stroke-width:0.500000;"/> - - - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + + + @@ -657,17 +657,17 @@ C -2.683901 -1.55874 -3 -0.795609 -3 0 C -3 0.795609 -2.683901 1.55874 -2.12132 2.12132 C -1.55874 2.683901 -0.795609 3 0 3 z -" id="m83c6693b27" style="stroke:#000000;stroke-width:0.500000;"/> +" id="m203a6b5dc5" style="stroke:#000000;stroke-width:0.500000;"/> - - - - - - - - - + + + + + + + + + @@ -694,60 +694,60 @@ L 518.4 43.2 - + - + - + - + - + - + - + - + - + - + @@ -756,12 +756,12 @@ L 518.4 43.2 - + - + @@ -776,12 +776,12 @@ L 518.4 43.2 - + - + @@ -821,12 +821,12 @@ Q 31.109375 20.453125 19.1875 8.296875 - + - + @@ -860,12 +860,12 @@ z - + - + @@ -910,12 +910,12 @@ Q 48.484375 72.75 52.59375 71.296875 - + - + @@ -968,12 +968,12 @@ Q 18.3125 60.0625 18.3125 54.390625 - + - + @@ -1160,54 +1160,54 @@ z " style="fill:#ffffff;"/> - - - - - - - - - - - - - - - - @@ -1215,57 +1215,57 @@ L 214.036364 272.060219 +" id="mf2c81429d7" style="stroke:#0000ff;stroke-width:0.500000;"/> - - - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - + + + + + + + + + @@ -1309,12 +1309,12 @@ L 274.909091 231.709091 - + - + @@ -1328,12 +1328,12 @@ L 274.909091 231.709091 - + - + @@ -1346,12 +1346,12 @@ L 274.909091 231.709091 - + - + @@ -1364,12 +1364,12 @@ L 274.909091 231.709091 - + - + @@ -1382,12 +1382,12 @@ L 274.909091 231.709091 - + - + @@ -1402,12 +1402,12 @@ L 274.909091 231.709091 - + - + @@ -1423,12 +1423,12 @@ L 274.909091 231.709091 - + - + @@ -1443,12 +1443,12 @@ L 274.909091 231.709091 - + - + @@ -1463,12 +1463,12 @@ L 274.909091 231.709091 - + - + @@ -1483,12 +1483,12 @@ L 274.909091 231.709091 - + - + @@ -1542,54 +1542,54 @@ z " style="fill:#ffffff;"/> - - - - - - - - - - - - - - - - @@ -1597,70 +1597,70 @@ L 457.527273 284.387119 +" id="me561bad199" style="stroke:#008000;stroke-width:2.000000;"/> - - - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + + + +" id="m0e3bf9684d" style="stroke:#008000;stroke-width:2.000000;"/> - - - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + + + @@ -1687,12 +1687,12 @@ L 518.4 231.709091 - + - + @@ -1706,12 +1706,12 @@ L 518.4 231.709091 - + - + @@ -1724,12 +1724,12 @@ L 518.4 231.709091 - + - + @@ -1742,12 +1742,12 @@ L 518.4 231.709091 - + - + @@ -1760,12 +1760,12 @@ L 518.4 231.709091 - + - + @@ -1780,12 +1780,12 @@ L 518.4 231.709091 - + - + @@ -1809,12 +1809,12 @@ z - + - + @@ -1830,12 +1830,12 @@ z - + - + @@ -1850,12 +1850,12 @@ z - + - + @@ -1872,296 +1872,296 @@ z +" id="m868fd82832" style="stroke:#000000;stroke-width:0.500000;"/> - + +" id="md0093308e3" style="stroke:#000000;stroke-width:0.500000;"/> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2327,16 +2327,16 @@ z - + - + - + - + diff --git a/lib/matplotlib/tests/baseline_images/test_axes/errorbar_zorder.svg b/lib/matplotlib/tests/baseline_images/test_axes/errorbar_zorder.svg index bc60095d9d02..146387c97bc9 100644 --- a/lib/matplotlib/tests/baseline_images/test_axes/errorbar_zorder.svg +++ b/lib/matplotlib/tests/baseline_images/test_axes/errorbar_zorder.svg @@ -27,32 +27,32 @@ z " style="fill:#ffffff;"/> - - - - - - @@ -82,20 +82,20 @@ L 518.4 43.2 +" id="mde0b6263f6" style="stroke:#000000;stroke-width:0.500000;"/> - + +" id="me050744a6f" style="stroke:#000000;stroke-width:0.500000;"/> - + @@ -129,12 +129,12 @@ Q 19.53125 74.21875 31.78125 74.21875 - + - + @@ -162,12 +162,12 @@ z - + - + @@ -205,12 +205,12 @@ Q 31.109375 20.453125 19.1875 8.296875 - + - + @@ -256,12 +256,12 @@ Q 46.96875 40.921875 40.578125 39.3125 - + - + @@ -293,12 +293,12 @@ z - + - + @@ -337,12 +337,12 @@ z - + - + @@ -385,12 +385,12 @@ Q 48.484375 72.75 52.59375 71.296875 - + - + @@ -414,12 +414,12 @@ z - + - + @@ -470,12 +470,12 @@ Q 18.3125 60.0625 18.3125 54.390625 - + - + @@ -522,20 +522,20 @@ Q 23.96875 32.421875 30.609375 32.421875 +" id="m0a339cee7a" style="stroke:#000000;stroke-width:0.500000;"/> - + +" id="mbb69401d53" style="stroke:#000000;stroke-width:0.500000;"/> - + @@ -558,12 +558,12 @@ z - + - + @@ -577,12 +577,12 @@ z - + - + @@ -595,12 +595,12 @@ z - + - + @@ -613,12 +613,12 @@ z - + - + @@ -631,12 +631,12 @@ z - - @@ -868,44 +868,44 @@ Q 40.578125 54.546875 44.28125 53.078125 - - - - - - - - - - - - @@ -913,37 +913,37 @@ L 518.4 60.48 +" id="mb381991beb" style="stroke:#ff0000;stroke-width:0.500000;"/> - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - + diff --git a/lib/matplotlib/tests/baseline_images/test_axes/marker_styles.png b/lib/matplotlib/tests/baseline_images/test_axes/marker_styles.png index 4a713d58542a3d9539346f4619d89f0e7f8f4bf7..e8be480e4ca718d3f4796890facf7cfe50619ffb 100644 GIT binary patch literal 19514 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 Hy#2ob3?JLp literal 17604 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 Date: Fri, 18 Dec 2015 21:18:07 -0500 Subject: [PATCH 04/10] Merge pull request #5683 from mdboom/tight-ticks Include outward ticks in bounding box --- lib/matplotlib/axes/_base.py | 6 +- lib/matplotlib/axis.py | 32 +- .../test_tightlayout/outward_ticks.pdf | Bin 0 -> 2242 bytes .../test_tightlayout/outward_ticks.png | Bin 0 -> 6177 bytes .../test_tightlayout/outward_ticks.svg | 807 ++++++++++++++++++ lib/matplotlib/tests/test_tightlayout.py | 25 + 6 files changed, 863 insertions(+), 7 deletions(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_tightlayout/outward_ticks.pdf create mode 100644 lib/matplotlib/tests/baseline_images/test_tightlayout/outward_ticks.png create mode 100644 lib/matplotlib/tests/baseline_images/test_tightlayout/outward_ticks.svg diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index 6e7c40f554b5..de5d137d609e 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -567,7 +567,11 @@ def get_window_extent(self, *args, **kwargs): get the axes bounding box in display space; *args* and *kwargs* are empty """ - return self.bbox + bbox = self.bbox + x_pad = self.xaxis.get_tick_padding() + y_pad = self.yaxis.get_tick_padding() + return mtransforms.Bbox([[bbox.x0 - x_pad, bbox.y0 - y_pad], + [bbox.x1 + x_pad, bbox.y1 + y_pad]]) def _init_axis(self): "move this out of __init__ because non-separable axes don't use it" diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index 0710eddf1154..e9f9f707e08d 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -169,6 +169,20 @@ def apply_tickdir(self, tickdir): """ pass + def get_tickdir(self): + return self._tickdir + + def get_tick_padding(self): + """ + Get the length of the tick outside of the axes. + """ + padding = { + 'in': 0.0, + 'inout': 0.5, + 'out': 1.0 + } + return self._size * padding[self._tickdir] + def get_children(self): children = [self.tick1line, self.tick2line, self.gridline, self.label1, self.label2] @@ -349,13 +363,11 @@ def apply_tickdir(self, tickdir): if self._tickdir == 'in': self._tickmarkers = (mlines.TICKUP, mlines.TICKDOWN) - self._pad = self._base_pad elif self._tickdir == 'inout': self._tickmarkers = ('|', '|') - self._pad = self._base_pad + self._size / 2. else: self._tickmarkers = (mlines.TICKDOWN, mlines.TICKUP) - self._pad = self._base_pad + self._size + self._pad = self._base_pad + self.get_tick_padding() self.stale = True def _get_text1(self): @@ -485,13 +497,11 @@ def apply_tickdir(self, tickdir): if self._tickdir == 'in': self._tickmarkers = (mlines.TICKRIGHT, mlines.TICKLEFT) - self._pad = self._base_pad elif self._tickdir == 'inout': self._tickmarkers = ('_', '_') - self._pad = self._base_pad + self._size / 2. else: self._tickmarkers = (mlines.TICKLEFT, mlines.TICKRIGHT) - self._pad = self._base_pad + self._size + self._pad = self._base_pad + self.get_tick_padding() self.stale = True # how far from the y axis line the right of the ticklabel are @@ -1095,6 +1105,16 @@ def get_tightbbox(self, renderer): else: return None + def get_tick_padding(self): + values = [] + if len(self.majorTicks): + values.append(self.majorTicks[0].get_tick_padding()) + if len(self.minorTicks): + values.append(self.minorTicks[0].get_tick_padding()) + if len(values): + return max(values) + return 0.0 + @allow_rasterization def draw(self, renderer, *args, **kwargs): 'Draw the axis lines, grid lines, tick lines and labels' diff --git a/lib/matplotlib/tests/baseline_images/test_tightlayout/outward_ticks.pdf b/lib/matplotlib/tests/baseline_images/test_tightlayout/outward_ticks.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7e0dd1ebcb58a4624e8a54bbc2e6cbdcf77b680c GIT binary patch literal 2242 zcmZ{m4OA0X7RTvYP-g8)-Qso?+gAk%3YnRFLeLgSAbcn&XpvxQC&?s)giJ^#X^f)P zs>sKxTS274%39RAQL11?EsFIhLeU~c5mD5xXDz7+N);DbcJ~dCg2m1`IWOtNS;&jZkR~8Xy?SOwcrGG64S2bhI2Cg9g_D!VLzBHpAWJ0F|03 zixDu#5+?yvLRz&-GEoYvfU~70!eBNMCeol>Lc0`7B+Zn?q=b?&nn20Kuza{~1|iHG8Ih1tb&P(@nycQ0q(MWc0i3x67$2q8 z!!yEB4<(h5N=h{pXr@ghk%8DsN{bo|H^U}JK6{R2t>^SytPEf8CO^K%t6ckuYFSzT zV7xxv*6`;WnSa`P*wM(Hvc#vZ0?m`}Nv=9`tZ5+qdUoHc4;FrHPgTS}9C-R#RR~()2~`-fqW@6>04uH7lpy&br(2 z{O}^@pmNvK?guS*?rclA^LF?3i|6P9M+s za!?!IbTQ6YaW?vyz5Hhq%ken5GFIGHkSm*0pIiTtsL;AS$P-FtV>qojwQf|X5<^$W_gkIWtnM%z^tKW;J? zMYHERdpA^;9$2T*)b3Lp%Dbf2e)xOgk!6#DE}b|WtW59JZ{IBUHmDzXDOP`djgBq; z&gF1)N5>(&E>&H{JF;m;+gue(SlKpH_2#3qqJ}(slB{4&!8DqE_oSk8MM@1fbxXh; z|IFs>Z3jKy&}OxIt-cqN$@?k44e1Lmt|mB_t&Ots)9;mdK0T*>oI{={IbXHwwOm=? zg4t_&cURp$DD$jTKMT!Qd)9w*zHjT*f0!p(E^JO+aVt!0XQf&LoH?IYIM?Jk%icNN z9#qh`)3HD*Z|R@b5A-(RCr8$x?p>ks z6g=Q){sei^X0N6C@PD(H$KCCdM^_(vG_d85`CWJYlUlkRy3V(@)I`_ZJ|itz zdx`hm+PZeD+p|p8Ioq2Nyq@z4cUvGbM>3Cnyz^BL&-yZi_dDK<=}$^8PpwQT)Vr|+ zPk!8}cCQaaFo}-M<7U=-`HDr8cy4bD_*~Apn5>yqO?2FQu)QSoz{5oczbdtsUdX-g ziE@{nExw7w-F#x*yz>tpF+29{ZWe89t1t+zr`slkO>aB*n%+C2%X(>5YTW&G9G5|# zGO2F5?+s?Lw}EX-@R-}Nde)VFA4gnWSJ2+DOB!Zaf354-gXg01n68djel`#Gs64-_ zjgZb(OjJ5-vRfytrewEU{Dyx`OCkPFKFs!so9wY<`%!UgT6c2jXMSN-tmZ3k>3BlN z%*#{DQVP;K|Ke@`TXMe7jtw&ugY|WK>hJ9alcb$pR>34i*L6Sv(f`T z&z8l8er(;KoA-Sr-~Cj@ehG6I@0aJ<5n7&*v$e0Z;*hk5_5HHQ()%9Gg_iz_z5coj z40cBVFaqEqS}+8`F`Vb3G6T&Ks*JLcfwBuV;rK8M!=VjT5&(B`ZGQGxCp_sBjw!&@Wv?_+-Lu5~6ushs}hP%_~>F^hVAtGtY z1XvjaZPZh=UaJ5&o6pABM#@YJ1;Tk60ZDRsYEB?XqiLfEMMpi^lt~kSps;zVEJ_IA zu}O?7HBb;r9TYzR5}w&cOBp0g&tpkM91Q2<99#&0Tucyz@%%B&KL8mm(qA`6!L#Xv^w?x literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/baseline_images/test_tightlayout/outward_ticks.png b/lib/matplotlib/tests/baseline_images/test_tightlayout/outward_ticks.png new file mode 100644 index 0000000000000000000000000000000000000000..cc73be432858983bb2c64844fd6d796776b027f5 GIT binary patch literal 6177 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 x_hq+V;j>@db;U@Tv=R + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/matplotlib/tests/test_tightlayout.py b/lib/matplotlib/tests/test_tightlayout.py index 9d43242ed9f5..588f66dbae65 100644 --- a/lib/matplotlib/tests/test_tightlayout.py +++ b/lib/matplotlib/tests/test_tightlayout.py @@ -159,6 +159,31 @@ def test_tight_layout8(): example_plot(ax, fontsize=24) +@image_comparison(baseline_images=['outward_ticks'], remove_text=True) +def test_outward_ticks(): + 'Test automatic use of tight_layout' + fig = plt.figure() + ax = fig.add_subplot(221) + ax.xaxis.set_tick_params(tickdir='out', length=16, width=3) + ax.yaxis.set_tick_params(tickdir='out', length=16, width=3) + ax.xaxis.set_tick_params( + tickdir='out', length=32, width=3, tick1On=True, which='minor') + ax.yaxis.set_tick_params( + tickdir='out', length=32, width=3, tick1On=True, which='minor') + ax.xaxis.set_ticks([0], minor=True) + ax.yaxis.set_ticks([0], minor=True) + ax = fig.add_subplot(222) + ax.xaxis.set_tick_params(tickdir='in', length=32, width=3) + ax.yaxis.set_tick_params(tickdir='in', length=32, width=3) + ax = fig.add_subplot(223) + ax.xaxis.set_tick_params(tickdir='inout', length=32, width=3) + ax.yaxis.set_tick_params(tickdir='inout', length=32, width=3) + ax = fig.add_subplot(224) + ax.xaxis.set_tick_params(tickdir='out', length=32, width=3) + ax.yaxis.set_tick_params(tickdir='out', length=32, width=3) + plt.tight_layout() + + def add_offsetboxes(ax, size=10, margin=.1, color='black'): """ Surround ax with OffsetBoxes From 7488da6c9270bcfe11fd39f044df980951f03787 Mon Sep 17 00:00:00 2001 From: Eric Firing Date: Mon, 14 Dec 2015 08:10:30 -1000 Subject: [PATCH 05/10] Merge pull request #5588 from mdboom/dynamic-ticking Adjust number of ticks based on length of axis --- lib/matplotlib/axis.py | 32 ++++++++++++++++++ .../test_artist/default_edges.png | Bin 24276 -> 24194 bytes .../test_axes/auto_numticks.png | Bin 0 -> 21360 bytes lib/matplotlib/tests/test_axes.py | 6 ++++ lib/matplotlib/ticker.py | 20 +++++++++-- 5 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_axes/auto_numticks.png diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index e9f9f707e08d..3c8967ef676f 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -664,6 +664,7 @@ def __init__(self, axes, pickradius=15): # Initialize here for testing; later add API self._major_tick_kw = dict() self._minor_tick_kw = dict() + self._tick_space = None self.cla() self._set_scale('linear') @@ -795,6 +796,7 @@ def set_tick_params(self, which='major', reset=False, **kw): for tick in self.minorTicks: tick._apply_params(**self._minor_tick_kw) self.stale = True + self._tick_space = None @staticmethod def _translate_tick_kw(kw, to_init_kw=True): @@ -1663,6 +1665,13 @@ def axis_date(self, tz=None): tz = pytz.timezone(tz) self.update_units(datetime.datetime(2009, 1, 1, 0, 0, 0, 0, tz)) + def get_tick_space(self): + """ + Return the estimated number of ticks that can fit on the axis. + """ + # Must be overridden in the subclass + raise NotImplementedError() + class XAxis(Axis): __name__ = 'xaxis' @@ -1986,6 +1995,18 @@ def set_default_intervals(self): self.axes.viewLim.intervalx = xmin, xmax self.stale = True + def get_tick_space(self): + if self._tick_space is None: + ends = self.axes.transAxes.transform([[0, 0], [1, 0]]) + length = ((ends[1][0] - ends[0][0]) / self.axes.figure.dpi) * 72.0 + tick = self._get_tick(True) + # There is a heuristic here that the aspect ratio of tick text + # is no more than 3:1 + size = tick.label1.get_size() * 3 + size *= np.cos(np.deg2rad(tick.label1.get_rotation())) + self._tick_space = np.floor(length / size) + return self._tick_space + class YAxis(Axis): __name__ = 'yaxis' @@ -2316,3 +2337,14 @@ def set_default_intervals(self): if not viewMutated: self.axes.viewLim.intervaly = ymin, ymax self.stale = True + + def get_tick_space(self): + if self._tick_space is None: + ends = self.axes.transAxes.transform([[0, 0], [0, 1]]) + length = ((ends[1][1] - ends[0][1]) / self.axes.figure.dpi) * 72.0 + tick = self._get_tick(True) + # Having a spacing of at least 2 just looks good. + size = tick.label1.get_size() * 2.0 + size *= np.cos(np.deg2rad(tick.label1.get_rotation())) + self._tick_space = np.floor(length / size) + return self._tick_space diff --git a/lib/matplotlib/tests/baseline_images/test_artist/default_edges.png b/lib/matplotlib/tests/baseline_images/test_artist/default_edges.png index 074f1bf404d941d3dfa3cda5e2672472216a06ee..612eb3dd3c48ee1447d91677b07b1de3f1342010 100644 GIT binary patch literal 24194 zcmeFZby$__)-FB?1yn*2r9;601QC!fiw5ZimG17eD9I_IG}0~Ipn{}yDJ@7#Hwc{Z z;$G+5d#|3Pt!B`41yqD9sp!qD6_{6H#=E z`8ne0MluzQ`)@R*sPLKNFv2MMfHRkiS(WMjKs1NijUnQ=4Z;IlVMA+bzDV!p~yF`Dpyv9@NiA)n6 zz1}TbkE*y}QR?O|*?!@+vs$D`}R%1V|2LOR!Ld8 zUsj2(e|2BhqWa)qU|=BY{ri==1?hL+dHri9icuN+10sLiV6pB*L17`M&5tH(A=Vo= za#R*WRd)`qmKGiyT%BK`&rOK77f&kCPI9f_eSYLC7?8j=?mA0U!fpI<69 zw`^BX(nvmgG%&Ktv)xmZ>fWLgD~rn``HSxkA1v63YJ+R(*$EW&H5Lb<$S^yz zQlH?Lr}?OtPp9?Cb$MSRd&?3`My6K4VOU2gO~t0<(3Dh z+6hS>^d1a~3%(W*u*I<`XMQ*5ik|e!bTSI%6hNnn8c&>fVmvO)<#vX07I|~S<-oWS zEH5WrwNcLxo)Ba!4~>mQcZ`gA4(c}wLqpNujrmZhXTlJh!S~vCjVv65M5Et$l-PLB zTw~`{h-m^j6rV=jGV!(K%vCwWwMe6z12CXjTIkAc*CQ>GTD$k{cu!9o@5w z6m2L=rFE40R5Fb2hHl+nJh0L+FiCB>8p*`PSGs%^QZmL(?9;-Z3e7W;>+vZV6m{rzS331|d=n&P8SG5)A?&mk{xKpZBtqRz?ub{p%`YFs+9>tt~y>k>s= zEc5g8945WjbQW+iEq|a63z(OKjVppoHmNLsY!G7NdL>)U#{_SgXDrjv8#)EuQeZF6 zGuG*Krj20MPc>jPbdnj9c|koHNQu%Go943FBX<0V8M5+Dnwyoyp)_fPDy#HoNX}aG z6ngmm*$j8r<{u1F!Z;{l@Idho*6(DwEeYv@dbVwU7|diAB*@=Y@NpQ7e;bw2@=T&1 z0|S+SfA>9#zG~?L*@nrbiXYw~8JANF&hes9Be1JpK0ia+avZ>+Pr|$4-+!VKVIdXp z*F+KTKX`D^&k!m*H57`T1T69a^3JysMa|*O{BHSX>*3ql>6v-*5dVwjgZtlWAUeWj zSyU_>a=ETTxiqXNVn#j9|9fW=jV1moXJWLJ!A7CleW{61PmPy%uU((}YC%YI`r?CS zvbh_7nPI}etHM)zfipb}rPJ%Wl#%kea)nO37{6G{Meq_C*`o0v5){%+QR8jm7^n}% zY~a}A{;yJ=VvVe@StU4rzl$ah=5QH=1iS&YUU*zWlJAqKq~rh(o%RiZIOE}~HX zBCnwKFu-1l|2ugF#r6``_O9UXUE$y56;%Csu+6=`|9)N(qlK+XBO$wU;Rae=y$X*8 ztvK{>C}rj{IE<)33FYVapT~sj0evUqTs2s4SO4PT~fKX@rD|C1g{jlu;+0L zg(6~yV)@Sh_V=o?ua!hke9Rz}B9mF@lK*Gwp#6wsXT{^%v|lp0aX?xAtvr)CJ)nZ1 z3EeEIii2$!SZ?QQue{MdCdj5`$>=NighlHJ@`Z0^<^7Y@QGb-E>=y*GY>@}Qg9zrfZ#P91M5Xk(FQ8Df zkm87ZF5PW3Ci$gT>^lQj&8(7|tFsT3gMWvGvawmWHKV=e)e~nOtr7n4) zsQu5-y}BTNVXcbpDW>`WA&V{UhMH}B$U zpSn{%kS1P?{((>~{((?JzA`d0D$2=q8IOIhgJc7p@H;vYaRiXS|K|D5?JXY2e@x_W|djPaT*;#zma_O~EQyzzpH_v8Ww_KNR+!*|#M zd0>MoH1s-K{btb=cT$7iv`EYXP+TGs_Ttt*P8%^N9f_s*l{Ydh4cqLrWbkI6RpM;{ zenQcHx8f2(X^&exJ9y4R`~SBz)k(~HHO43-VQ9kNogNT&25N68Rl#$X)3BZ^M8YBG z|H+Y}Ycl^5omh;?!eWSKNT0n-Mj9bMirbgMBP#aI33;zU0t&0;tyO>;;4Zxnzv=*9 zaTme^UyVt^!4^-fo=Hkh)~yt9W7Z_CHcaM%72T)s*VC)uH_+2-?vBB?<*=_;^wvcZ z&;yi6x9=a0^x`ia=|xREa0j$908hkI%2dg@JMsSk+rmQ6kzinprxX=kb}K5fizT)x zxg~##-y8>$L^>|57bq1Z71I^%!NPoISfeGE3ZJFQ9_L^Zt)G zff(bzswqg)#O-}{0&On&`Lh-c(~WS-M)S#+nR|>R=GVGMQ>$r~TBX_)cYoMS8O*rY zo`Ywxdqt;;8)h!az+my!R}txk1?FQAOnW&0O9l$S7U!bE;k+BPOwP8Kj^9sBgq`_M zK2Z9veE_w=j){wT@ef#X`mbThXv}%Iw%l3aC!N4Ighxd58|!dWDsxj3q`x~<(HuT2 zc#>d)#Z62e`bya$jMaDV-rWIc61znu=*FF30(ORvK2%eC`yhyt%#N&v@x~%9&5avN zB`S3Eml^7M9E7WU{{&0eXl>d>Z438#2BDV@XXh7voAI_l@4ovmI^}UjT^KumV>B@| zs^djqRKWBjbyTdXDdvU{$~^`>;-s=mPC&k5+|6Zi z@&KBpkM`VJl2xHQD(K0sr z34X5`1TEv)0djXS-ZLNl@0Q#M4=a0oS>8CKa%?N% z`Mb;-iQTMqK7bN~14Xj%tCEsV-!_6~Xy-by&iVW^My>nT7!~F65_K-^4~)w7*BCW% z`6?_%xSRG*1j?|njqMG<3^>qT~YRIJBhyuFYXDVfrJRT>M)$K|MRW82GB9 zf;W(ylQF>`g?e<(W%%#AP{pFz5+xsCGK% zivAEnPdu@_Ko>SlR8VPDYGTkk`*zq+kv-{wC(9oD_sb1dp;8vV4y!+QoTYNQ;bnTq zQ}-Ni#cx0Zi|9a-&)+e#k8zdH@Bp_=pHWj&qte0Ww(}m?qrD{hdJK=F=A6>nqpbzW z{mm;~^pp0zc?GX$_#g|6h^Nl>AN) z5wcoYIpQQf`FT4Y)Va=l-NqurS`FW)&0^B((a9|1x_wIde|S-M#wM>C-}0qx4aFJvx2YpWK85){GuYjRKtO4D|&fA!i zLeaB3<#w!cK35r9?K!%1#@swtS>6}@Y&!&8eyuigy6@TD&?u22zADo@TJ1`_ z^@pce`3tyi84VU059aIoMBLCwv}t%tVW4h z*BdrnLAL-@x8txkG>NDX3YH5u)RU1(%f@V1W>(h1dBMS<1j|_r5lvj5I*~}C!kusT z8aqz-G5>9C)U}OweF%*AHs)Nuzr3g@FaK_0;>ov?krXP7nzKL01yd?H!NjypnByer0Qm;ZZ0wXzLCjV=vNgjiAn16d@EF1Jn&qBCbD>tJTul z+S4A(x7n*8J6AGfv9M}8hcO48Jp6xjLxueU2beM?EzNYHKd0i?TC3}(8|ELM$Lp}B z6j=FyRq@@Mg2UsNllfRp^}zSZAI-0Mo!9h)l-}?|3kv!84xiPy*Qf9AO-xKSI`0x1 zAO6}s_0r`?@D~n^TPI;31I_W>&h_`_XmFYja&U5SWmQzD!`|^P=u!!|^wzbYFaCaD zs{l6j3cHMkV4A$gb>7B}K~(OiXwC`HY9CJ^X%i_0Tohlvd>JL+TC!BJz+ygFBo3C} z{82W`2i-H2oyS!NTSLerFO5_x0eh}tQU1A5msq$;gb;b+bDyF(O*ss{kn#j2nGcmX zlMB*&KXQJFf}H48<}gu@*A~qsySuv!o8ez#K9t(ZQu$?ly%TE!|M%rBIB(ycH`UpX z(srIAfi5>AJzXq9f3vmxaI3U-v(@_b@9CM`s=EZ<{U-7FW!r zM!N|dAve`>`u?&ej{R&GlKZ{hl$!K022$}UKR=1zy|p;xPDq2M5bo~jaTl_D_uI|} zutf_?mCMSHA1AJ@t!=b0<;`|Wvf?LSa1pNh_VJRbt8?v1&g zO-Lr`$;tOVfBsxx4seFv9-GKTcrWPqejob!`mVFG%1TR1tJiu|r%Js&XD1#@BwST@ zyk_iqzpHVbW!95nadEjSI_{j)05%V%SUtOVW@3`U!om_H{algu4uw7OHD5Q1$2QfV zEh>eK-N2|d;s%UePE};5AO4yVT9~9ca(d+WU4s7D_Fl^li-Rc;%8SG03bF#5VHTB( zB{bthpTHrHwEzi{^ZmJ6l^e~n9=B$1ox?nSq?JA-`e05&#ba|%qtqgBcZIGT;|E%j z1+OCD1v2|Xd9hM9c3~0nCs0_FiA**I55RWW?@mSHX!Vnk>29P69r&Rp&K|pF!Wb2| zmGE~fRY)f;vxz<&o`-HP@2swB?|giYvw66`Of1ZQ2f3zj?O=s{R;qM#D&$io6&2Ho zdOwlKUZzTiMKryZO*4auxjBAW)Xqhkd}6SKbt7p~ie#k8ubox$+h%VZetta*1mZj{ zZTwFCRm@y^wqx8nUY;ZxocaF!!$QN3el5q56zS;O#W%Yk5n&sC)df?zFf^RXyKlM^k zK_MwCuZDLP&99`R!>SwbAb|9&-F3X*RM9NwpW^)!;AfY`;sN^WEXroV7mpoqLqb8} z_1gM6Cu}2TkXp&~}xM)U**F?lAOY_#OMf)w|QtEp2UmhX?z`4vXp| zc0JOtr+M10i=0~4pGia_Lm&Q5)xp{7#S*%WL46=BD01K5dO=9jKzh(|^oy`A524q< zKT4ybqwTjx96=25(AnA9Whz|7ZZ0MAq?U5+P^o47sQb1Srf(xD49!tqJ%fdY!H6$W z@i`cME6}f)4B|UCaiLP+BlgB2&?ay>MOZq}hrG*G>rkLB1d_2|nMJ#84w~j&zi~sF z=4hw!ISWG~^q8>gu|*{%CSC9DM{yXV9|Tk9R8&+X1GOL+a}>%fAn1{ZLw~X@mQTgl z*f@6U#CET*NS}fLyNmJ@ z`LE6Qwe1=$OV7&cNta8)%)}MW&dSPC(AJKFv|HqH;3EC@7Q-wW({^K4?qD_8vlrap zB5bM8F`wK?EX$v0J=t(wKtL<6X3s?42ljI^kV`M%F{X(EhgsNpbGuEftf8c$9|)I4likq{X>Nl#V!PbTWJn z0B11$`89v9NmTG0vH~Ppyy%N8Mv$gOLNti73#u$0&Dj99!2=M^I(lT-#VpCzU_<*6~9vms$2GWPebSlD7g~=9z{iw3qU!K67sCM zLpK^MsAO)QV>Z;Uq@qOvH}-?*L4{zKSd3&E_oQZ&m#e`(M{!#}fkkG+A{XGX6eT1i zI#cNBFR_9jV6rzD&2^`c3wcy|<5M6GLnPRqP*M`{UFE>{_+kk`)B>5GKHX`H6VPxR zv5&lMKA4<%*9RO=%GAi{;oZAf7|Arp$c7f9`cGvZ_GjV_ERlY0J}Zx)3|)U8srbUr z)Cvs(8v@8KH(D2&58eJG%G%rCKi?C7Sj1AZGXeHiMdHm1+xjnyKl5zCM9XwrG^fX} zorG2~qu=lC{Q5QBG`IZ0)YKFs6H`xz#}@n2M6YCEU|?om-c_#+_Gx6#>&w9mSqTZk zi4VmfDSy%7mRuOfQ@M7&8?YtpO5$-jCQ1unbJ_Xs!)ZNnPamK#K%N)Df~ut!vAGrV zjQG_2+_UoM$PwI1O8{57E+nM0KGQK!<-D#4wUzF!H@24YFt5k2G61TZeR&?7@OJ8B zFg5Wd+Oj5Ncvy3BtX9W#Ah%DNYvjD0xOHA?>H`|Lm8TYE-@W1aoi@Bs*5f;?lNIaj z-_*;j5(C)M%nbv&2t9Z19!v_g%PS}-ls5i?OQ-z$g;~AXuQ5_GRBRe~>Xe0?l9E#C zqTtRrmivN+V@6TYMgZsGe(h0Z&2HO}J%DRZx?c- z&F&-ylZsErAI`~4a?3ho{BKGu(};{j|1# z&Z7r(JOxZDg?@b}G-wJ*Y$!NM)_Ur#QkL?4^KJNe^y*}--kn6-KziGmSjX6s2G`~4 z?K*Oyqus18@ax6RH(<$w_YJRD_TD%{jK3=xDz{DB{n~gKnV&6k<$QrORE=H-h(k6W z9^wG~a-l}&_35|${r&0Y#A@$!49^|x-?ia`{VHF`tqh=N2lNeDr7J;Ff)t*>U}xpK z!Pd`jhGwnysn9yGy|~CB(+4yu*&M^=8(e68u8MMqrkk~Q{-P{}ad4;s zX=}lk9$BH03@xZOWLzwbU$=H244Ng!lQ!QfG#D98Y2dM)F6t|*7aIyN*LegitS+Sg z5t&BKY8QKrz@C7OBY6EWOBwA5Wjhnc zot4MyFInBXzB>4amXOYMCF9fidBlouEE6_oB_@6hpyKO4L&@FAtWm-|m#cLE1yP$F z{iPw0qT_4Cg47r=!MLnO_vXn3rG^?$>8jCz>A1cCjtrdSp3bdYve>UX%=dNR3os|V z9l!f!YWl-dtOiouIOl0H;#1!m3O+sH?do6B(jC&3l4v<$FjQg=|5w}dz}~j&{zZzR z!+_Ak?*4YR?!|@z=5@e#UrBY59XD(U*nO72sCfC{%EYiNMe{9ogW;{mfkzv%jwO9% z9PhMZ^B3*b%R97I9|wZ)jw6EPR>bC}FZq#ynQNH1bakiMSj`CO(Mod zO0EEN&o2R_t7L_G&FB)LpS4|EJ}!Ed+pur??R>0#%sMs0npPqe`HM^ecH?0VL7~I% z*Pqk;`k?7NWdwdjI_D_YUfrUq-1MSOhl|~?{T8~fpU=jmav;!L$E=`G$PjRGfWF#; ziW?GvJ^|*zoHOz91`(_}7Tw(}w@TboLJ1yZbm8+IZCM@}vwzjUl|F!!?mD{8H0q1$8cZ`ml z+Ex3#;DO?QrfOA_-K0&rk^IGEA4@>J@`~<|3Waz>i745eWt#DTNivW5Vt1h8KwG&A zMQg#3iCaaqLoHXyfulL+=%{p{PoTMH{^GE1z=j1E=Y`^83bW*+x#?j-3i0XknYhz? z152;&)wa{`ZTtLKg`OxX&uxkc@saW8gi)`r%AVAc|1?@-mY~5P?Dt+L>v{8J2^XuBsjf&*F`3fBW~XN9E8 zt$W^P`zm|89q|LRT}iH1Qm9!SS^m`*OEvoz?puZNO48E!mO(p@rdq-)rlU+%>$^lj z=Tn~!fusT*8+z&WhEwMh{TpR*$EJd~p2Cj90LP0M*h_!zwg8xNaB$2H)E*WClB2e} zF8-35h}PSE*>$X^D@k;->9S+%V(goZ0V=LKdQ}*aZ@|eWn4ddG3MCrTq_>p$u$-x^Fs-eY%A$$W#Y3dA| z_su*NyFc_44KWN+CjbqyIkAHpztL#D0Ul=pJX*zS14Z$Z&!@DkKF(PjK0SP|+epwi zFtFew^y@LeEhd5;gI~y9sUNzPw42oi$D@5mpZv>+SM_V&TBZ?k& z^V%QQ33WT8ue9duFS}ZOi5HLR+u9VRuV$QM7sxgYO~x6jsS)muMteUnzKGt4H!(jD z<{Amh3Z(E%!6Ux1u|kO&55&SDxJF5k1+aopU?XI@BR=n;uW`ADM!8Lj_ZhNxrg_!3 zXXViZc@DJR0tXvC2zit2N`GTzrAZp?ae2-aEqG&Y%yp+qx!m!`UUssf-5xZ;0_3Lj zTGx$Bl3yEgZ%K(SzWx|J)$YjCV@q%BGmPq9lDkhxv)CTW)-nI1nNrL1K&9Azp`SVi z3sseGzn~mQ$s?avdsqRW$bQUy`>Y_Q)!Gknf%Px!(29`X^xB?0Xpp7!mCI7e>*uQF zQRt>ZQ%CT*WpWiTxF3eO=b#BB_o|bHiWm7BBN{2HVSv7Tv;aTp!37mJe$OZ~xfx`bASNa4oIp(j3J+X$7Z}yzG*mO|H7e zKxT@5L2jjm|82|ME)o^ZuIDp!+Fy=4n%Dt9ygzgndH}yBgN1TIBWeQJz-6g?hQrRt z(J~@Is2V6b$Tml0GnmSXis>*g?Ww8rA>1}JZl;?JC+d0{&e^pTS^MiZ060~tM#4YX zm|W6V-&b5%j!+#&RPeZzoqW_wCyp^F}H&S9l%|3a-qf+ z76cW^$&L#-rBOeBn)M704lc~t#Ln^U{qiE!4d|Nq{A!B(L4%vh0hj#RtNGz*Yt8OF znI4D0;ZZ+_9)_HVjeLtB&!@?03?o$e%Vgq5&fXQL7)E-xHu1{u=BvLe8e%LpOdpxF zx%y%IK@_E7903(?!qHCf(d?8h#`u>}k9~85+3FBFs)DAlNU!-EJ|*em6|$992!_03 z(*cB|i0B*YIGCkl@?QJhPk8ov+&4C!{xj^|eN)n`W?v`dy*M^+U&k z#XQEVGmJTE>y*o4m@8j^5#g{L<)50FK~n!Mr=x2V}Qz^4)9 zpS3}QWX4wxSk%5e&x3;Qo?zn-UZxCGKYa>0vUG1%&})&WNGsJ3+@&9Jx-hd_kSu%8 zEKfkI4!4KiJ!jEWwAu zkb0n~t({v?aO>cwp^$E9CFvS)iZFN59@}kqgoX&TT3)1EezISgfwmhl4*C|GGXG{kj@3AK*j`d>!?2xlnza6nD2=;fq>e}V z?^gME4O~y^adT8xUr?sW$jhI_q@1*3hep5+lrJ{V4)NRxbM zJXC@GR&;PE0X{A9m@F!=@^>6{7KILRz_DhX>e=HDAe0L*H8blitrbuKIDN_3nl)}W zZ1}NkC{1KjtdsUN$IlxgHm*ds#r<#dto1(DsdG_sHGB){a&9<%*3|Xay`|U^m&^2X zjgYl{4ce=;+S=Nx-2_o~{QwGn{c>xIhhB2JO~Ky2*!#@fBGvA=4={c6?_RMy5lA2f z0`kdM;0`$-e~N^Wjdd*lZb604_kAR{@k!3xVT%f`VlI=t@2%$ZE7{k=7PHQ~ zm#NBXru6sQ@8um0W*ftK3wX|$-Rmf#&qy;0g?k|-QoDPw*mM&H1^Jl{0lYRpeB<2K z#G!*6`+eHw>fCA`cqH^)ak=Hwyo-bO53kBvM1=LVUUt)7iV0M3r*$k|Q!lSeP;S;L zu2Sr-jdA~YFimA&ga4ks`qJEe`#6u?phiNl$41f~Fu~amePte_MocX%`USR!lNxC}HG9%z z2MY9CH@bp7IA#kv1N-}x1-8EG!aPI4U^=7j=~?W<(i2Yt*dB0=#bk{^w`UWBKVRh= zA896DICV1EVLM}z&@Drk?Sq5so>fhCnpwQdPooxkbK`y9`%CjPi$~5sL+xZ~=0lVD z$qJ=p1$SQ@ZtBP`>SK7dL(`e$x#Q#6xi-}bxaU@mYW}m8vpCvrtM?CpRUPlIWCKpW z9y-R2;yjY3#c)LWCFQr_{d0mhV*~t{hGS-dHtRAb(K^U}M#s5q> z@*Y!^1)X<+Zh=AKYap?31CAda%I&2a+EuFZe#4GO`>%;tH#168+X8o7YLjO=CU#ge zbq|6Rg2~$MqDzY1W3L$RUJn*}7o>q1-}W$DS*_pv)Ju=V%uER_+cr*!LoYq6*-p9< zr^!IZ>(}MP#r^v8bn-SfHWFIz5CXZ6fW6*yIb`+*C&13aiK_bd%O2a6h*xeNEFTpP z4^54B5gIy6#=3IKR09I~A@j_$(tKY~e4sU!Xq5OWeOvI?c68W)^!~t9Zs%yOrk15p z3?o;Vl*y3C9r>E!(NK0a^ir5&qG4RdqgfKKbeQ~yMMkCpo-jQgNKTnq9t0*-0p!Tc z$w8(Svj@IxKo_xD01Dj$uHnX9JblhjANF4>VT+#J`a|+FCy0*d9k~@v34@QQ#4Ycc zMYhDEXxgB7=cx~tSQ-rlP4n8v)!J0HyG62Go{MKVP({2Di1YSNYT;Wh6Mk1YEQYyZ z9+{P!8?7|G1Qsn{^`#)rq zJ(au1F2x;@*wb9o4&OLXXpiiYcFoYero8{`g=|TmZAGFgop`JM7o3(3*3P}n+FtvC z*u^K_sB_IQNkXsNrt&(vb^x;@pyp)igRgpDuDZ+sJxPf3k$;&ii0iRH$3% zXkDmPD{HdS(8R;vaZu3ZN!75>sL(g*Xj=w>0p-TaHa?P^&9R=V_qaL=8Qe9xYZo>m zV+_jg<_u!VOxINj5g^b}B3= zKeLev`zS&83YaBsBCNJQQ!Z`={l>>Uk4>fnaF;$HbLI|w<$&RS(ktt^r!e9?6Kmrt zP*p{;EL_eM=c&C!l--8*$XTirtqd9FQ>u7DKar-60fg%-ml%)(&^{IAjD zVr$U!ISWo2jLZKfb>^*grTF8}gog&u#s*)?q#N86mS~m*+;I%=3MrG!DWKybT=z#+ zrbeG^=h@7tYBD=&H_Y^{OMW376l_=a=N+3az1ps1y0C6yQ6r;sxJKXCZ_zz=hPQCP>ad&XVaiyI&QGIJ#RjbuzF6N2^JVS0{*FLt47jWOr@K zWur^^^p9c275~GBvU4OD2 z&q>e>l8`g35uyRn81$q@a=7j6lHVLBFL%s&R(hzB*ck{L;pejT?G!$#u+PnqroSHo zj5??N9stBH8@-npnjwA4^KrdVkgibV*_$NhwM1dLuc5D^s1^D&uu(}Hy%Jnz%Nf< zJgIfc1x{bpzlX+qZlKmf4Q5F9O5Ag*w0v)>RbL;fkx|ipn{!cnC*@eaB!b%O`UgqD zT!e-NUIo3A8R#k0^PjxDz^a}7ie-LjDZrNm%+TPz_BtM<7zg))*1g-^T-EIIl;l+- z`jRsxGyNf{cQMUD=}hV0hcoK28sj}}Ee z2&2#3sx^sf5Y!;99K&Nu1PUQW!XSKPF_??MQ4_-@ih8`b^!zE>wq@#u@8r_lCE1RWokw zJk;|r-3JPR{&dBcuFC3)Md%g&)VQ#L6~?6!sAKAAAMR;R-KV1KK@=;N~!{s94s zpk@Q|r^!d2mCJR@ELPB6J+In9;9|i`l54bHI8d{@l7hFo2XtrzRRo{q1pRnP9nrd( zc(_p8&H1EWtXz{N3k##{0gNBXIY@Gn7f>kbGsyP>7=3yDd^vlazaDQe$m%@oL8GsmYSK*0S%6?Al9ZZx3%7 zl%rp(EF5f))qYw-IlUXHbj*V04*@zLzuJINi;Wfy>x>;Qr`wLzOCO&F;6Mv`334$` zV6O-h3iRF=l2$vc-JAO&UHc;}xP$hanfTiJexX@O4O${gRsC7Apdj}j##L)Z(x{Ve#V+|;q`{>|)w^|f_e za&xA}wk2GEaW0y%LBGXd!Ioum5-phdWVjSwbzzx2jW$pW&A(SuBc7>}_jC#5B#aR! zJ}59;y_yBHp-hFeAfWy@tj2}2E`P*F0Id7L=74&!3CVzMM(VL~*P5?xj=CPn3JPY? z2X?(=_z_@Ma`nf|wqJM8kwUy%fk?5bCrflrY4U3!3Pbv~hz*?Tjc&=k`7D7`r!pOL zU;I4yeAyzTtzR~nzgrrIz%8qhW|@_SrZSncmUNqNch|nhyi{rS73-;DtM7LX6s=O{ zJ`wKd7koR}(qZ}f)~)Vh>&eDUB_`3^8Z_c*9-*uE#o0I3T3Hurk6cTa%Ic0Z8{BK1 zer^_g+gr$Qbea9|)UvPEQ)hRF|GM!aYr|qB7;(g-vMW+&srT3J`liB1=kFKEB!4Un zX_Ssuh(>c6$_sm$)X&+OfVRUwFfe??LPbU<=+2!x*+D0`n%dj@;ZvO8)FnfGZ=W_c zb#wrG=4SSQ+&KBv<#6)o#j^^PTRGFOWd$=Rx4#+2zXcdbp))4) zVDF(lAAxCOe)$kc= z{`#Gr9rEj&!(~To9v*FNRF2ruKp!fy*nBhp2(Mbu7?m>P482_t#aN}S zO0d3uRQuu#*KG|)g)|whLXhFTYFPZ5Ux$s&!BJClc1F;s^-H|a(L3ug&!cL*)0G{t z=v&>U4ULT*{D(Wl4RdzdH*>*0^$iWNu0K@*;&q6LDTljZ5VG=4|H_psar<6E{a?+r zq+@yQ+h8=xN*?+8weEbM=_5DyWg!(+y$dXwPR#*{iQg~kxlQ2hGq8hoej1WlaygD2 zP^^zQj%gKrf!02*l~hN!)rW1gHgEX|9|$I9rybIbFG2V+t2AG26Y_uwTkP zTI0c~1ll2x;{>g)uCfISY`x)u4!$pR+yGz>C;AJ8Wz}Q*^Cj$DUcqeBHfislQjnZK zpAM>*mW~b;&{t#!VG$O>h@dY^Mb;5$V*N%?3(dh`!{67p>?gNRT_R|@fL2~CFbuFR z*F*~Or@A^4Qc|aH`WG%-V5FrT_a{37J;*GqU**eA9ih-Qn9oB>t^G-2(P3D%T(iHC zrE@UvPe#FElu!wh#e&JI@KQ^|D)$4EcR-C?V_}g&D4%S#LJr$$saz+mx)@%2iSOUP zoAhVD1#tyqblc$FH{aSdh1wNx6p2CbSe|JuA|e7EQ^iCXK#&J2)42N{lX7-QhpfuX%Shw~RqbKd6?#FZbb9HPpP!tRRKR^d zD+V$$GXGbv6dpZFfUhIT+biR8qR|aN^r9epL_}IJ>?&oJG%?8p-2!V_2MFTA8eAU= zqfpw0AS{ZBO^r%VPw#xiT9XcQd7wHmpfH4kvdzezS@jwl8!{14wy`Pr^yw3Gn@t8Q zOMCo@(*r@6U>9am5QJYC$Gti1Z0y8lqY9CZIC0ryQm~50a8` z2Ob_C`0@sH&zz!xLF%Q;mve%!UxD0J5hhUb`&)}hZOED&zcOJ8rzXd5H;~>?E4Zgs z>7WFhoRX@l*sd2)*c^7V4|!r`+(99dsgxDb7ivW;2M^<=5f%}_c>A_8h?%-y;1L(W z%mbvgz4NLoD45aqLQW2kipm5Lof;Jm7n#C)kf=$QT8;^VrNPIqb8;%(^*)o&dyc=J zZ@DVz#S84}!@UJWhmsS7#q|hL&Xi^JXR9Uo`r-mkzQ)BBx%N~7AZ-uaYy;AO>3na7 za^urz#Ihfx<$%`(L}SvKATkft9;R?4Zo|_#6aw?3>+vT{e(IGItFn#ct~E2`#vK-Kce4T+uSVXJvZ!&Sl=QY$T}uoUiI72 z(jeNFi)7Kt4#Fn10SWZxe4ivfIY%cjx%8f%o>2AM-XQ8U3tZiR3(TqsO-*9OCVdj1 z8xAAX90v{Q{8()*C4rCN;f^k+NpI7<*n89o5ZGvz0sw~#iS?vP_w;5cgui{80S$x( z)oJQvIG9%Fjo$-AaYjJEnG-lT8dP`}9-o2(U1cnwVeCih<7LsHYY-_=&x*jXz|z$o zELw(x)D+Z@_wU_Pg-<*=wyZ&ObMrjtCBTMBV4xNpmL~ySg&l%fP&tgDcbgw7&4b8b zI|bXYQwrOUh=cR<^9zO+Tbi5Y#Ke62^2Z+suto7Z7mT_r++etJ#RP&-S@apsBVIHg!Fq_Za*>M6h-96qtrPeQB6d}6i`*WZx zV4hx^M8l=Qn~@n}>6nKGfGXGqe%xa(A^~8FXz)P&s|ZdU9v?5e`+)&oMAj%7$00U|IEX3<+?@POdn}}6 zME2Q&lZi|i;9&6_yu06@gy|Yh88c$VGGXKpAt(yjbQ_F7V*{j){KJPKV8%qaL~p63 z4hXZ2z>$6@rSb2_4#bEkr(i*@+e>{d;Y_$)_*$AwFVA zFZ%13FWexX!6#@IfpzwzsFXGV<4Y2jkfnfxS#t4*g zybJM_3Wvo^$R!{J4Ox5I%4<6v&=5qG1%l{VXutcR zAWQCk;M7H&no|t$(Zu9rI2!%VFwXe_h}2X-*9Cx+5C)aW>FL)%lP(E8RW~T40Z%E~ zB1zK37pifyMQIl3=rb}hK;r5P<@@_>v#-eDJHz8(Z|`SeM{lkcAFTQG%@e0lUgVEp zt_B7AA(VbdG}mE=BU@9x6&hxNks+cG)hxXD_$$`LQxJf^gBq!6r33!`$J2VAdx<545m>rGt0hhF`N!EC?mkK z1>bhs$+-wl)MMRHFY>h{gOnlZZY}rlVFDOkBMf)R0T^A-?5Tp1A3#;;71=mu8XB4` z-H*@RLA689VH6@EDGBKRfxzBu62$ApckP&{@s}l*W4WMmo`)Gp7aUsIfM=E$e8`|1 zfW#_`R>dqF+)xk^!I;A0!bc*774pTi6Q|FUk!2|7sAs@TQ>(%*pZ5a)SA;q+`+75w zMo1gNwh!@zclS@j0$#C!@ldRCa5yFOvZx7c269#f`L>YV-PJT|rJ?tapCbVRBM2r2 zhL@Al-!J@x!yO+^{~WE>fMneXT`Sa_RDg!zYfl-$(Ih~Fqyj-|4}HD~95e|dEJGIO zWx~S4qXtD$5#EFFluxm6)T!{Oe}d4g50Os;+A;;H@ZQd3a9_3>dzNnE$wV&{>Y?<% zNOXzNKqMg=Qvh`)-N}9++dK`=7x$X@!{S%2(;QWF0apNL2?se+pwJ;15!L|FWduhoP7xBS zh=@D|AdnsOl04`-9LrQBW{H%vooQFkrlVx>}^103ObnM^FD|YxIL!%Jh^5!n21Ba<$R7- zrLus_#zPmE3P2_L_Sq&#p@z7)I6Py;%`7n~fUG>P(5UMYkXr5Yq+C+4!k-S6P|Og; zB%FkTvP9i9XEz_nHQEV0Oz->0cT-YRP2elzC@JiyST;Z3hffTaT3X6oTK<4kVt!Rf zs=SU%*&jX#13G>vXeADYfrlUX@|JxQsq|wt?hu!_Q&`k~P>6x~0Ld$0WKK9m0~2IT zH8nK=qXpo6Utn5DLPeF+NbM>Gb)yoIE}uAk;TjT7M#AApO7-&j22v?l@z&BvRydQ2 zNxkn`2m>D;_q`&dk|C7^0|P_7+NBtzP|>Db zb8kKVD7&-sA#%0~;Q9bqZnIJ7Fm&yyi4XFSpAi-^PQaBB(kwK65VQ(V{&OIiJqqXo z`EqaKT^xL}TlZjM)eBHLJSHZ4eEdTa1$PpVp!cD6X_{C4V1JxKFWhV}g7Mb;U~v}sQZ6W=TX5*b5p;owLEttE zaF{3Z)~#C`b7}GNg5#WsHpUz0x6oc*(uJitt4B0ER-?9)JrVClZRF5CPUf!W9ll zB%AbQ>f7^=ryk=&ivoi-a)3236uSc*G_(mn!T88@3JHzPpWhUqjw3o_$U$kKj+YZ0 z??VVh!<@GmoYPY*ZqJdqKhdX-at5RFjo?5q)TzDMr3 z**jTAh2*DbJ-{vgK|v9120f5$ds8GYLgcq0X$64PJkUuBP+H)7j#9=BmK-ZUrkfpf zQq>!=*YG1i>8kIALqkKs7U6K(@j4A>(_By5CLF~PhkPd=ecK#4Tm)cve#o-65BTqE zH0i4d82W&Z91Q$(?wu*QvIDGJ5okdX9kkG|mFF&7KS4~*0j*5%0BVK3iUM{@1o`&I ztMP8~AT5?tSC2YLKxt%8KddK{rhsU>k*O`n+Yj~zYWv}U6Nkf3)nkxKxFUuGkcHQe zA9|k~8=1JdRUrsY;o$-Hw|EC+$OA+Up`5Ln2<0LJfDTm0KIA+DxQqrB;ffLR>D=c% zbG@)BX}}@CSqd5G1=qH>OL;F?JOj)-`-^}JmDodelgK-0@<%$(P;w_rbzkHE` zrYqfIqyhnL_wGT@X!RUY+XEWUU-_W9gEc@{CU8dg}o+l=*v!?nWeFv)OIOF;A z=bJ1_TfbWwLA^nq6P^Me4kBg4hkj2+q#>^=0JKLAM?f(f@jN=9Y{VMYJGLJ!KxITR z0=T#s4$(kc4j59UnKTJNBXaD7#(g6cz>t37H)L)+58zDs=Zd8v1iPa4d_2h$sP4ACy}0`JOaF95mL2 zcV5u4;ekvva>N43mBltw5`m;_pXSBV??9|T{zo!}`Dhgs12taAg&S%gkgQ`19D%^27sBywT616`5Oq)mB|VMkocr+jc>KxKV78Y=K$eUMK! zXOn`V8;qIcK@r|VEExkcG(;7RRNIqhNE1N0p8-%&xiND!fNgJo>_}UU8&Uco=h5Jp z!TfM}VX91QCZJx(RkJXh$>(M9VnX-@+GD22&ksRdVId(2Gx46+ z7%={icCP-V$u$hWW)Wm{5V9}Jot;@&%_wMoA$^>jYZ<2D)FNCVhL}yaT1=~{!6`hh zQS+lRaav}ZS|j?{`dC_`ky5#8EHcfRrmf6HXiaT(-3$7q{($qt`SFGAeIK5W>%On+ zzOM%|uVVx6$jWHMdvbNA*`c%AAXfDa3{X`o2>c8jM-$UVwnID{8M4 zV$3?+av9^tVi`(GW>MoKsW%<~=NfjZERee{kb(2_hc2>k(F*RiEeDMwEzH-~mv|8F zoYkRp(s?>(?)~EfT885sIA!wW!v5rlW+dhr0mODzYFXYaibudslHO9Oz_NhY6!(DWYF<$Cq0NY!_vJnywru#p`br?v!5Rq9rJu8yBkpwxl=H7JmeHQ5a~q0O^L{SXLDs_PK!+H zHmN?%50x|k#`I`|adew+q3l=-=_F{?ss#MyY9BYD+wC419VyOejp%(rDp3jm0wqlc zYRl$;+(EYan|nOtrRlQu@};dpp)jp548HA@+_&e8+W2_xSFl*xHksvi&R%|WbYk~v zaTsKPvlIzTiA=^{;Gj+KNS>q?YHHy^*F-wJm}RUpJ5=#VLt-lvrpM)l$?@g|0_W0TGM~{=`?R=6t;W5tq}EzW_#R^kfwOp9)4i-J%5UQ zON(8`@11yzNZKd6QFo9Fz{Rp6nOuvwn1ucmBDvHZHK())tY;~Q^Sa#T!!$%el83KP zQv)krTW?_HeS5a9s;cSdf-WDL810`JZSAZO8(`C?UNEvaQad2FKQf^Nx7)SnWV_t* z6_|u>&eIjK18FP+h!*W=!1uB|ZDSW|6Rz>`dL%F+waYb(=@45BK7umZAZ3}yMuvul z#aZGt4{q5koyKz?dQbvMJleEbQ(Wxl@4s6D&v8x)u+D9&J=i=ii{FLR{;cf zoVi*grtpt%fMKWJDrFSasQzPb>oFov^pZ-#uAgHhAz81~H@yL@P#-#Vq&f=CL8w3LLjNGcs7r666>9g2!Ur*wBohm@eCbSbHHcjq@B zJbRzD*IxVl_8z}8zJI>YG1dTG&->gp=QXc+&3V6X(Pp-|Y85~2zy6gmY8 zb?PD38Tgk7yBE*k2ZptXq!JeValv}}2L68bnS`1(3WfUw`425kFx3c!qCiQC3M)B8 zEeyN65KKmIA8$tq)Av#ve>620i5PI|{%)u27A%D=opUqgnF}l4@nrh&jWQdeeyA1Un=_}7U#M|UVIe<9@q~~cJFij5 zKi6bLA)-UWb*q+vY=Q z3k#;$SJ|j%tWeZ(x(&WY+e^a{e2)3AaY%`6cw)wR&pnQ#*|Y7z#qcM}w;UHEARsuc zdB%hKqt&F;u+x0DaM&-NoJ7Y6^)?|dEp2LlZX}mQOmj;MW*WV_ zC37A_KpSm%dvbid@V$HY$TckRvHRs!6Qccs9j3qRekqP=qwUO1bffV2;_v(G6b}y% zF{iOou69^xXkY49p11W|&9^oJQSb5X9Pt0)b0bl*30mTZHPkkUHT}`X#{9dd47-;e z4D?sXM%q~fc28kw;-gTNA}C4JuV>sd_nRgoLnCN z=m)`%z1nvyX>NvOK1{VgYkKZd`= zu>^P6_YjF`cD!kwK?NhDZ9D~)sihJ#3tz=yx$GCcrw0Zr`iEDqZVy&Xxzaz>6vE<> z{)=}Foj#A^lT#RTV_{kxTEZfKf5lc{lw2kLoW>_N5PDL8%$F^w_ebBYN)o z#wi)+GK0f{rdyw*P(&0bd(zP@;;AJg8a9N-W;Vgm%h{JcD-pz|z!n@CBHfOOqF@Hh zp}_e;8L7T_3N?lg3xz-b8wlk2f*FOvf7?BkmXjv~n-v@o7(bMy@q_ZtOg;+r<|=sY zS&LsHO~uK9flFXPlD^}`v$=DxjR`Dn_Ki$ck}tH}Z&msld~R}bV)Ga#MU8s>7)`>V zm?N+JdezbXyO4Ig`=Q2wYHG&KJeUMB%5={qHN zY8w*nbvldf)f!nVRm49OOBu8l6ANW*9loX7EheMOeFa4^3l>5Bsu3^WA+Kj(?!k_K zQh9y3IX`)TxAzvuvb?5l^bLL4g<~`{)EixJYz~VNzU1U&+aH8DUIaK^=owfN7iegr zf9b9~wy5=@<|H**D~wj9XJAlPQ~RMe`m4^%H5(1(p?Fb9N6yi)Ow5Ovz~-t@Egi%B z1@i3drD8%#>JzKcdb{=co~vu6m>=1q390Z;Pm&t#(8)vRh^53wt__$x=$@!k6m(I% z(}}w3bM9D8t zxLbND`WZS>uhy*ADtI8+a#MjZVR@TLCnuYKf1`vz4*y(Knt7Va=eZZmzwQRYb}D|J zJEhE}3de3zvF!^FS6}b3(D;TSg-v{(l6t_BWM2Sa!7$LW7Q~|Fd z$YS=V$!vML;VYMK)2whK4qZY*Wuskd@2gF9DrN^QvRvrbL{H25jk+7#I`Bf`4na9U2M?K~VVfzXmK(x5WXijd{D0 zU_Zdz!JLJ|PNPs~P-qxJO6Lis049QM+;g(-TalDJaED{ebhw+hb$j{nu{JmheTvde z7TVln2m>hASFrsF`DW>bJ>U$@%|nO9n536`v3nufbkMj+bo~xIadWTdj>uubUoJZd zp+tK-*X17#lnq}LxWe>qguRRKFJldHT^?@3=xLcMpZSb(T~J z_xiL;VPWZL;)DBw*UHq&n(wy;(=g1fhcfy|kOE#09g$yvC0{s&<&l=~fSZMGmHFj& zN_7H7dg^p_tl95cyn1w(I?zxOw=R4>g%^St%t+qie?vz?4mx69eQ2N6beTzYq6sS3 zOSJEAN1jWF{UFVC3yeEq?oTjMr}!-y{pabaE^K7fn*Rz-{?uT^a9aNxtoZ6>8#I(o zc{?lH1Su0&@}cRpb5%V1cf#x_Y_O5;-RtGCbNr#f~Kx! zNsOO_n3!|KHWFel70^0a%R$(?O!VUPm-Ik8h|OsJ&1TS1s2L%6jgp$0!H%KX zq5y4@ATR-h#h^NXr+kTTd zThVd^@kyCLB@YKdVFutRZ`l6{JS6Mh39J=@o!p5)m-IoMiW9eMoKpD&r_T->4OZ~K zk@g^b9%aw~bfEuXDmYcMM3WpWdcmL6Mh%AG2P+^`E0qIaNJ`qb*3%0dFEy)>15yf< z5=iN`rz;W>KPbdkMDbbRz^rbeVCNma6eo8naG8qIGgxmAlG(~A0rWh!6%GT+xF4~d z{@C_;#Q8K(uh$g4Zt8JEv+2+L@`KO+7y19i)~5eIm)YaR{?u;{uxMC{;f!a;)9^Thi_Kv zDEYR8^2=`uA~`G~(XiD;CmrsAgF@+CLBm*ibAlrmMMxSV$0sHy(lb6v)hT+}|A-Bb zNCSE+R>cd0fA@20(X-CW3nZRozDLzs4QZta^FX0J!aO-)QnirjqI%9w7KA*}) zx`jcjjke6$nb)7r;sC0kD1JTT5=LqLG=G8a$pg6if0s|!NzHgP{HutBcL|F^;@p1} zk=|He_$;FE@!yU}6m6a8FOoX`{fH!_K;=PUB>LL_>-*$B6@;t;AF-X^ee?8bVXC9w z9PvB{tFz8AF1RROD$$EqNecf>P9S{!jhvv~zC*o8QusSL;ZZ-a55O4-B@8@jpFhBf z*k8a&$uTB83RD`8`jz3OHfgDf^OV2IiR9cBk^g3;{u{^+`d)Iabri?4j5;Ex`WJBG zQF{JLps4Ko3r?IDHLdP876x=bJWC2_!GT5L(ePhX1SJFX8HH+lM{rnm?NFyYclsQ~ z=UWJq`M+bTFp}ige+4Fzo~Rc>Od2T8`vvyuJJRR}EJ zPnQG6&4mf(E#wFLE(Fg%ntSadp{KXxHkjD<7DsExGO1>jdX;J93vupS}5 z88qRzKPNlQ|1#MD^Z^@q_NVlB*h%2})jy}dC_Dl*>NBm8T(U++Mw(l%>Ylu+`{hAT z?C@X7&hp=q9a21&KW01V8D~%^LilJ%SeQvqnmmXenZHxyIdf+Mk>8=`%X>p|jh_B~ zlZ}~9G-Wu2ppJ{^e;_65e?dw#ERf*g(S6;6LJnAMSg^x2kp=(kcXR}SJxnicOj)Ay zgUY(1ZV&HA0Wo5Cu6c*dX zUg{$M8=43$P7 zoa6cw9TQV_OVu;(tY_RqdfJkb28g&8`FC-Rg6Mxra@dO*{;Zs!UR+%Ce80EniHbkZC`?juk~?H> z2QL3sU4y<&cUij5mX1(IJgx8*W7+>mZPDJ4OWr=~H@?WTyBm9l=ja*?y|rFsypY+pzG zT~Fo)YYlO<3x%T9zI)G6_;-=w#sBH(n%dezCyqp>Cnhk|?|X;;E=PDWQ{7lCc%(Awo_ce?0l6TY6l{@l*$_`oN7i(05L2%+9m zlGdHJva;d;ZNek-EfesFgZna`u@7txG@L@y>Vp38nqX^FBcsle>O(XBt?#-Kth%p5 znbcDxgKiitk5ry@Cf!6w0|-HJe~saH=5XD!S^S=NwnM7{m}_GigS z%{l}(JSdo7*8Pf;exr6^nlL{7LNxUE65lsi^V!V!>wo(YKOO6?1==q?9bJIg;PAjj zp*=s;i&8v4LbmD^WRuS0t0f$}S-Y*WjI`xdRcY<+?i!n$_w8-YbK1`JbQklx9hCZo z(A)qO5>gf;{-d37VnMfxuI}#5W`^7iA^~c9N|6oRlch>df6vp6;4}%{nxRPTLN zN>;YNFI(MqcQR~yb`#@opU00G=PqBa+PA60<}$2(d3K=6)j77Vp(%*gc5R{wE#sCW z2)lqTFYSKTpaK2s?dzL+j!D+>;`I5;=Qa4Mg%2qEi-rJZpHZqcb z@WAKBg9w|xW!sGzd0Yl*t&{v+sFt;Urc<1}_vP7396DdH;0zPBf89;M{KD}26~T$( zei>Nr`NkeC`*&rV_Ig~akKtur?*SKRj_HwE{HuuGgQxBqfl?RK> zy7j^|r*~BihG%s>w-7GmQaM=uT0h4S0+&qb~%y-efK-!Ve-i zB%w?)9FD@+X=-7NVm8mA|sXM?CWWb79~l7-{?P-5Im?{key z=I-kYom-28uDIlZ*Mz{tTm{V&C_P{_3jLzO!kMK{%PR8n0kD~yYb`AEUD7PrNmrbN zDn9?7cM`wzmLVJ`%-9QY#XC!-x;5r`&Nu3braT;8BA({)K~YgL5#soI+Z|c;V$)7A zSoG}aVf)cuFru>*WWPC*j+nZ7XUQuShianNIp1lSsW@;loi-bGXJz# z949^33BI_o>gUck!-jwAWJxQ%<+k%2P8)`#JXWIWCFVZ6E0kqu6M@pqXUn}`f+7bC zVgWmK-5yT8W?m|M>BjvII4;CXF*W48oPJ`7LRL4xt|IBdiJoWsL1K( zbIiiWpHICKSzT4z`Rs|gIpVy0QHbxv&TBjd%55`KWMgweL$CDq^cZ#}NeYMc(0;O8 z45ZeyYN9bVF*#ovu|r6ncL_G$vVka3oZM9j8U4*gszRu0m!2nAFhK2oZxFchjOHy; z$wZ;rN%@_Wpb{OyZs5CAKF@46P$*gFg^OFBRgiDe&zzi^%D}|LG^2oj>co+Lrk9L3 zNdx)~R63VHa%kJaRDz+YP<;z+Sbf6--dDqJ(wBwU%OtliIO>({Uw3t|@p2Ihmf!~G zn!l}d{cq}(|Bg%)cf9*;xuu`TSjleSpT=L_Tr6L$ zzh(=N5!dn#IbA5Tv9R=~$tS*GMwcLd@ZiB-vuagBn6{hRF_%+gbo2(mNlOxaLr9oVEF9cVPh4Zz_U5LhPG8bH_@LW%W#(4VOIqgXI9DLKA}UVy zFCG2`vx!i}-dtumn8}!%fHdQi6Qp-q^x+zj)6$CBS{}_UGU=a7i8Mb~o`kkJmzg{F zjv)sN3`*oA+i=qB%}^%hGLL$F;cCL-U&6 zaGcHU?foq*)mhRkl^iqqXNIa=_cz+^EaM6B)t`7&RNp^`+W@?h?~B+s;&2f~4TVYo ztol>5g`LS%)pk{ec)vFzE=X)ccNQtOfI^&*o&De+gD)*ek{h27{GQIPuAb-rEAi69 z0hH_X=H_PReH?ND5;;!P*w^^GUL3mh7x<44*6Ep;lqDtKnht`)p6neoWLS0RQIh}} zrT_ck3q}2-c&Vcal~#bh-l3ta&G~+lxt?_4u*)AH{>=HgA0&bqjKGm{|8{vY_XA5G zazU-x*;%K_5Y<3lIM4aqYG&OFmpU+^@&usrmK5lAfqrY(!jA$@>#6%@Kl1PW_yNT! zf>OlVremCQ1P*6qF*T)XPmWY5aG=N}3<+e`(=zGVxUD%8g7eY(8_ zHsX;PoOla$JQB%4D&e)7cvEaXEVc9Iv3Dn+a&TniHP~Iyhaqtl{bw)J(r(=U5OKv{+Z5{}}w6j`5cR}~h14sjy`o}JBaVLo4; zRhsX(uK(b}ElNOc;*)35I5;_HBTRDS@7;R^Bw({3_R#wi_olp}Vh}MgF%|{7_lbCH zY5qqRz_d=-)&)e5;M^+?$F&LALc^1@`$G3;0)Y7|ksRn)YGzKk)Lkze?DF83ppQcg zybE!S{^m`DU~#w~xgg;E{o@nZo)TYj!JLQ)V%OakZ5(*~gj#rTuh(C*xXHpIyT85M z59Vas{ebJVrovEWc6RUna&;~Q6-rn?89#*(2{#bWr3!1`D@>25b-x)60!Y=7AITl> z_!WQ)42?S<&8b!^2n)xLxU9F54FbQAe)Xy(t-QRv!EU+wxTK4_-yM6DR9mZF2r*Ktcjs`~y}E%IjUqJrQIQm4)c%xr z3tji^YQ4mf^+Pk&67dwK=Z96`zC@B!A*xzu%P)WNhY%D#pA)Gg5|4XTaw_&{R%V=A zro_(7%xvn;=&o6G9yqu<-p~pRR*yRTD!V=cD`zwnY7I?H*wxh3^xL9%3`|>WQ=ol_ z^`*99R0b4zS-akgJu;_maXFkXC_i{U+SjLFb+~A8O;XIMQKFi?*fqXv>|N)Sh5NpG z*mhP%23s+I<3p9_0TJG2+D6Q!6vH5<+8b?8MOs9>XKA}td?-n^$l7&ZS1r_WEMi|4S+3}w_wHj@`mc*V13+BV41s9&#~_mLQ`^D;Vq^n{V&ss6W}2p-3^BukQpA>01pMfdN5_?_lnd5iH= zim~NGB;3zxh;+Yo%LYODhSyp2@SlkN#*Ce-6pSgTSM|Uum ztxJ1gkVmY1_+hA?+rc>bHC=DV?P2@Y?|HH8#nHw|qoO4Hbg(Z|-v+@T!0y_%h{=5n zRV_^K47*IRtGdXIH-|9z=)LmRbLC8^uf94+W~QLX!ZBE4!Bt;+Tu{1F``*XQyq zbGldh0%@eb?M}y9fXBPl7i$;*^Tofr^GeLC+sn^4H`Pb)$5g0#?bO!bvf**vk+}Ro zrMc-omHtGdYk-Fvec(z{FV1)Qm}x&rLQgHU_MUhh zO@8nbbE=u4foQO*Mxy$?)q*md;ti6cjBrkq;()BJkpRWPN`2FPouHugtBP7$=8P?D zU1sved{0fCqj-)FI0{^Lt%5@B0`e9ad~9w>`Ivv-EpgxHvi?et2m=`=Ez0{wyHHYh z=CZ$abCY299siJ@&juS34&9O<5k2mpp~(XLYo3^#+{|F=4?m*v_=4va-}x)Xd5KeD zhT~V__`I5~n&-grNB0CTJ8W=p?=63}Plvc0hKms}gc&um{Yll)DVmW1Q^h6HTnetZ z4O(W5E#|qa>0|?kBj2}1i~1d$aXHCu7a#6!>H2YY-Qn+fI5c9O7I2j6r7LJi9c~co zdVA)0p$b&46TfW$`q#`Q0kWH&PSVY=hD zD}*kTFXWR*ng!mLE}!DaKKJySI8C%aN0pcTev(YgflpFDwX0fc^{(bS5(Cd9?Iz2r zo3k&v3k#_Esb?SYv?T{JFaG-8t#{v!#kk_W?|ObxKaFd;7qQ}?$q+?DnToU{*^j9qxdv2|)o|)t_&~LLHNtEqrzOj$IhY!@)<_EmtJ@~{Bu`fw8c5D9z8aV( zZV%()mD`#Opjiz{PL`?7dzbR zukM4q4|qg6$PHgUF1s!}^Ez#$kvYwnmsMV3_hhC+Ba&QyswQjv_1!TPsI@vyqe)mn zI-}s`R%N#|lujG#qEIqyrw%sdqnxQ?)aXxHzB?7^32%g&Fp<7mD3XAa@~p*#vK*It z?|w|0g_t_M6twX%lxaWU-Me=$n9m3WLW&lRXgnJmHfF=+%0Sy3;f>h3-fnx{v2y^d zDpFEX9h0CKW8sZ6wsbWJy1n%_3fgdQ@7PNlIy;)`%2mcsr*+sZNI6>)XeT|uVsF@e zOHwT`CvYQPphETOqUS{0=1lf&$<~X5AYet{b|E>Tq6W|k{2)!BxK*3Q3%9A!+2wfaILEK=w%7|5RT&u+3PfB3tvB_ zNbMCSna~_2Ci!jUWt31e1s2L^9#3a#K%^&S+RZO>2x0<^jP)g=X>?yI#t1-?V zZ8Z=|INj}9xw$A3c%*1%wmhE_xmIX7p37l5_C<>f9aZsHjFFY8--1Ckrw3#T8;H1P zG^M(Jm5{!9BFn!S3?@f4I~aJyX{W6<(2Z)=IZ%LZcGP*d{C1iB1k5nib`Nr4eqs}9 zO*$jrq#y%_Wwk)w8=fVN(aTmT{SsX`WoSutb??Xoc%!IvV>+9H%F2)SSWM>ovMagI zpd57J7if46)^c9t1eP=d=`W27#!ry+oc3l@p(&Ho5HGf2-zSzEFHt2|D?8WSH8klC zHUCZf9VP7viM<87{Q+vy&<$rvcjHle4fC{*J=VA_mXg{bg|~G^PY0f(c@P>**A!Z) z+9hq}%z;x#zTUYtuH3YEl_z@A%9(#8WDtGLePSyvN+vTYH{E)sk3+JuEU2l>*hD?E zuaB;LsXTq4qD)0q!}1=BmX`zTNz16MChd*C<+Op(z?S*9K0sEP3Xx&vhe2%b$}fJ` zhcBLQfD&T_cw-QC{^1`IA3pzN8m~B25m8!|K2b02qqVU5V$7>8^m9*?R}8g-230Sq z?o0jTFB;ZKT6nWHO*|`vyJ#R@7!t7NQ&{b_<>k$>9^CIzL^!?D4gZ_SNF3K}*~c)_ zJgIu)mw}%5Mo!)$>s0M|mfIFpyZRl+KU@QTho~>9+au2HE}NO!oPqZ(E%P9$116qi zKc8I^5fw!O#HVk%-zs`maPPo_NY}d)0@wt%SiOrXI+w!Q`rJUIrAAk-Ot+oS(8yaH zcIxcVjR3Nd<5QBdlI3@FM!N%#)-Tu+NS3D`uAVKsoA)TOaFD*lAgxZZzZB?}HKHvLnlVqk zfgkN?-rz@#ZRUOuF;qq$;M;_KLuTLZ$-b(#naa%#Kg13*D=H2cwQy0XCHk$zKBRY4 ze8&wzO)Q@bRe!;J)`~V3Vt15!9_AZpu8Q+>nV=ddoV};_^g>shuy$|{hljYdj|0hK zP~4`~vQzIb%)qwAx_w-Q{+M@SW!Az@YZq-b4-YW|i|?7bi+7O^kmGj$$i94h=f_r9 zNThQ}UzTI2EH#?L)R(uHA_U#5&Ye5QVLPV;`OJebO*^#?J>jLBo?hf`54lEN3i9*w zUog`eT?829blG_ZV9P?sfB4}HcDYK|XEbi9_q?=;(p|~&14`n2WH)B(3%J_|X0#=eKXm7zqftN-)uNwbkK?r= z3EPW)xxGJz`Pu_*hK)uFX#Fy*wZuJ>9Ig79SQq#88!Ok9wJT@_t5jn5dKwC!)Hy}F zyJ=tH!|>=HtZ*#IsaTV$Jlq_bUISc`PFVgus zZWZMu`PJ1yuV9FvnX3ATaaLI}bAlOv$9-TBC-hEk;=Gyk@Uu0$FIyi3dPkHeOd_cd zlL>PrEpjvK*vh6U%S>GPh8l<*D%R-gC&>U)s5;4hL_-FwOjZe z58@B+O#ZWXC8KWY^ZmK~B~_bDFP_w3Q3!dP7#nwSRrAPtp3%H+BuTEdn>6%9Hb6V9 zG1@_k+WzYXrIj<@ZOM1HdDeQKXjAPeIje>PT6UMoclK}XydAn@ws}vY%dfX@i?TJs z_S2(BkM?$)P%{~2WooBSpMLc5@pDA+hSU-JT3`R2wa>Un*Z@9!y$}5z8U`N4Yf?T3 zxl6Qe^3L02{Y^nE>C*&N?e$*N(W6KF5%w}a1d61CJq@9E{r$aWriWU_qn+%s5?G5zn8&5XJHWx3tDW9b%%Ytmv ze#p{GVD+u6;r`ZQ`9_x^*Q!v~Lx`xpWc(Sx@z`e+C?JdnLEzwj5WYrpc(na#k~@;x zhwr_8nN-&pS&TjPp?ly|vEWfo(tDa#UqkCoy4=}z>K%L89|D_|iAF(pW)BXx7AdXz zQ2|4|qjLR&SleHft}3P*#L)G42_8H-1PMarrfBLdj~GO49~?a@CUah3ZT-M{Qn!Lf zK%^AG9T*tcXr%JH395E@cq$I27~W1b6P~U&D^M7|!>y9)ka1JF{(A=%Po*QMxEyRs zRioX1N=Ls(v-{o+#ae#7{hn>#6pgOXtp++PRl((**akAm(Is*Iz+e{L(Al@NWc}4g z^XZk0sE%IH@-}dfS8yLeR)R?S1Pm&80%JAjSt{aSHn>AhT(1$r1T?*BEkvZO65pi9 zvE|2eE9Woc_SC(irm2mZyA^fIdzMj+{YNa4?)I;@?$8Vq<{kPE-P#Iz^F!8xSuF0mEr$-|sJA&ODPo9R1jUs?y_PGkkSt?r zo`Y(d2N8$!mMN2Fxl&hk`t%beEu#3GpbmHU=JkMWDR=pa8riX(+fpFv7eYTIXu35W1=S!!Elod;gWd@oszUS7(%j4M+!%Djf1|$RfB^ zp9Y0F&=|1G88?vX&26)Rq^>T7Q@R(RIKrAyTKZ5rlrcbwe!Khl`GhE+z-C{e<3+!1 zX{RN|k>k_0Iir?y&SL8xNoI?F-PBBile=C$j?zC1uDYk1$8_p+8SPV zQ$=)&s^dfVQ0GrWch3C0X^~-)Tc5t2dmK0dHiM4>5GFu0@s`k zk0XW%2JR@O?Js&MPQDIoS{(F~ruQGbV|7EUD>{&VbE7-tLggtu<=?U=NaRm`XALon z+0_?=!?c_vK{k6-Voq8~&ia}RkD{JQEnjr>V2X?8FeoVm{n<1^dAJb82gA z*$XlKz5gJlLLrFO%V)$Uwm zR&-(iMN&&bVXJEY;JUzYm4!R*vb)66xv7@xTLeY!(K6vl$42fh0ZHVW9V&rj!NI*p z4!Lc7ms<|6z7{EFu2_Kyoc1>bMLtEXK;LL<;YS3IbxN`6kA#HT)LZkB%`@}%Qi!N;!ND! z)?%#m9*bo6B+jem;K71C*`=qO2Goa4W1HFv?a#*uBu51&9j@{hhVgpo*fL7&h&uD9 zUVBFnSg2870VPS1Z0%!dP>g;s>tj&_EP(!oR8PvRQ)67#B!}$=&4j~V7W8!Pua>pD z$|$C6=o>O0oJ3PUw+*Vpb;09;p(5TY=ai{bhfjx@TsImI#}CK(3wcz#3KnhosO?LY z3WjzG{kB(l)w|$KKgqZ^83o+w$)LiUl-x6BF{xHr8u~z9Vlm2W|Gc)ayO5k(S0y8x zNtSEGA;{SHHa*w&ef!B%{*8!m2a?uJetu1)Mw(MP_AX9ZMDPIQ!!AUeG8-xl81WY{`nF7Pl>aZhjJ$X@VF)Fk3#u}`6yuq)(s9)=v4G%ZAlaNkFh2wf~Xy0b{;7Q*R ziQK)FK`5?sSWlU;P0d>!J1j5Ka$h_1F+(EOeO3oHg8u~TILK4#3)L)*zS!H(q`tE2OS+PV;cAFJ_eCA16Wr}Rh?Hmhdj9i z4kiwX95;yy01bHb@;vAp@;ARs=dYR%m)kOChx9il%rOg;w?-srfC+e9S2 zM7x`JASkMC-mzoa@hU2LeUjU{XUHWpltnuSSRVJx3qFEBHa~fM|0~J3AqCu+uzKf}z-|)>HnB}~lBRH2aE+G2%?;aO8^sthC&M^GsG@Oz zfbF^=4-&aBm6&%2_|MK=&gXEwnQCvG{5TC{r>^~r<3MIEAdLno51<=#-UZ(0GxSO2 zv-)wi+>Dr}^CC6>`u*fH*a>%uB%X@r+Mt3J3l zx<9gQGaYR|2X$%Oa*`-C;PLWxud%z~-NxTTgEx!_!1Cs?ztb`kSIzveK_OTes7WOQ_Qen;ALVrJ)~l+&cs}DLlMj13r}7yNm8` z$M*ava1ZL~nUm0(5H8a&YHs|V^x4yE21;`(n5Ujad$UFe4s~Q^pipF5$oB%cS6#n; zy(eE!n&9%~mH3_(r2d;K8{0RZtKI&}^vUUSSU;b?d;flOCXs)mmCLI=#P4w?m1Dfu zq?K#Z@m?+mHo1TZb6Crq5GqF=667-%h~m-}Q;nO0>6#lGEj-aO*w=2~fAZvs(^A=VmanIY5E>dE zfR1gStYYYKt{bm)Hw(|?IJ?ko^@M|iqwA5`B}su&p;uUDulD8~mK_|FOYOx<)td#k z_9@!VO*HGzv(RM+TJBFy_bVSA4N_O$oE5a0#kUf>9jSSH&}w(rl_D~GS&ywPghR5( zF9>P`75hm52o zYTKC(;UeQ+1#|P9z3pWSTk6u!P`pk8(LxN=s0k-#<;$lrR)mnwj1l+a zk1wMFTDM*v90({s8gQTMmhI2fZ)JH}uo-N#W-#uZq!xIThSX`b-7D3Fg>BnH{Q0XL zzHH|I*qaFuFE>6uTHe?hcby#94J+Iu96zEHtj>Xgt(EJp-t#Mr594CbwJB-tpj9i~ zR(IdsHB)kOinwjMBg$#~v_*fOX10fgt%};HT+4Bi0Q_pXi`0H6wxx8N(63VFwz@X| z)gO&i>Vm#lO!vu5TeM%i;4wP*;7zQ$tK!{+C$_((LAyCsIM6B6Y8*lqdEyT z@b+vXd*F=S3HQ=gH{pixfDyHB5{GU<@2yIwO;&@pDAsx+MHLnOGuXtYE-o%U!B*x& z$3%kFDO0|8UbG$^?lXjz8FpT$YLciH+%8S^ZoTrvxUZrYia&We8v6PvtJ}D@ZmZK$ z@wE9w>r;pC?CiX=gpMG#?V(FLF0R*zjke1gj%3Hjt>4dfr)uA;CwD*S6upPd7q;qY zJzmA?=Jw#eT*vTK&2w~u78j7F+VrAqmMlr@`%8kr7h{^5n#xv>Ey=zOmavahx!uwS zeJus5GAVEy`vxWD=TZ&kOsdZh0G#i`7PcbFKQtULwtTjm+LIUJ!(uViXg+44tn+T| zYwgKU9)v3WZh|FJ_(4P4^vSi@DZ?FLgHL`k9Ksbmcr0>vnZ2qC+k2yYb#;~9Pw?oa zC2usLHvFeW(9gJq3`SU z3=AT9ZRf6PkM6eWhlXX)d z%`{uR^5EJN?`;c%3fIGoPqKoCJs4-sMCi9hD7S1|*m4zn=B>Jgrc-!>CH z9PqR{(!TBDk1dlw7T8}XkZOSLm~f{}H(ly*=;O)kvV>wj`}S~un*bj({)#g1(oARKRMq|f zu_V-TK8Lss+HNhVv73H>M%8q%WS{*F?#VM~PJxDJ058Ze+r3r4e{xp6%5Z5uoZq<^ zwvrW*OzG(9^Lg=yOraf8EYNYil`Gq~)^6&|3TwT_(&gLF5}`K>R6rR(T;svw>|V>C zPY?+Pb`t4$t6C_ntrdaq<)Gu^JIEg=!SS-Pw(f=JTVh!2C#{S?SUz|DyyD}>KlQ@Y zAU1n=crfTg7uaz+)Nr*}$KPI}MSAdnylHNoE16~=u^)BaYqfB*{_4Fs*V_#Q-u8#( zNb_$q>+OWhmf+g8Or(1Q$PRS1o>8sH(U*zlP5$`t7N=2{D0IyQwCXQXels=5A)ii1 z&v*j_Tf4V3E{+298%;|MaIcM(I$Ukbs8)SN__~qYxxB$bBWvaHrHXZ#VQ6txB~h(* zb8TTe^$|iu)q>q8SW{n)W+t$ON2F)3eBias@Fn3%@b0ZNY3PRzZ_b3GWrgV1NHOs1d;@CFA4cL-osg2nna#U%WCAN1C@nZ_?8%*w_@_ zwiwCU*>OPHi=rmeA_jq`Lpy5{9KJCWmsA=)KM+A4HxGjj?6kC-5K8r)KD~MUdMzyW zArM=H0zeCd(dQSZk%zzZ!)59kGjCQzgebR}O-OkVnGqM~v4)0Rk%Bi`@kZ~>B>E{O zieYC`{koChfkL55Zqm`o-@osDLnbN>%*X`H-5AiaH}5AJQl)~{SUT7OXe-U*#W80~ zc?`!IX%4;85DAdZR4J)#Zc z`pewI6}+;tGGgv$anLE62=Zp+du$b|`^aTot|6pJ%dmq2E}0trs(lr~VT4b9Oa94d zmFwK_rxK6@f}^4swY9YYczux5`}umH*evo44#~~P))X+rOo%!v;x90Hpcv@1F%$2! zIX64*Cm32?UELe-Q~&oMFImNqrXEqzmye1~)1kAs8I$?h-iFcU;-D&y*WFl`wYS6^ zhL3HjA9|dEN#&^j6+y#>n2DV;N(>P!qYR`7vudc_<|XfMwsR&yIG{e zI)F+%7(4~ynL6oNvU;M#(c`0SxNEEU=ut#%T^)Sld>+z>tWod}RE2pGoe)}|ks?o5 zvUHK@54O#v;XyDKqSNs3fw4@gBJ^L%!D)k=VB>x(&YfSM&xWM35gB> zP#6HW<}!3~tz<&?gOI$uJoF36iHN)y8yn;P%FJx#Hqblv^*u7e*RNmIV2&?Nmi~%t7qVgv@Gw9N13nLGE>fH%M8YwnbLia8)yS_JUs_+No-dav003r0Kyz}-}f-);O zllX28O_>HW!Zkn}>jW5;-mSU!9cedao`-(hcRoHR&92b+2KuHagX(x-TbLh2F*;UO zc`9+=LSB46JY=a#^q_OvebR)ZG3n1yZja$dRy1iRLICE9m08XXQH?Xv`saC`=%r(=MVl8 z59GZUE+x>=(wZRMkpeEIu-0EEYo%WpERlr?Id3g=z9V4Rx%IYX?`VG+c^v68g`{(C zr1Dd5fZXX5K%}Mv-6JnA@7#q8km!ekUSCZ70ojWhHZg~so!#w8^y+i4KOV+eP`nBV2zck` zr|RNTp`fU!4B!r?;8_W!;knL4B+W^KT2DIM(pC`{A*e%)AtN1Hsi2#)Y1W3Git6sg zix&~UVXvR*Rn_j@nC<3-PAwX0>KSO3&*Qz4L9qocEeFjpg$}DawzFOL085mGh0$PI zwo~7(Lfv1iJ5{!yA-5s{N`HQ9&rRwPxX1_y48#YkqT}IFYv)_{MoO0e=?_WIlVyGU zCw4iO)Le<_0qvI&$k z6P5&XCVY%Uk=~lQ-b?~AvK+`?0chj|o~bd1Nkem`LatV2PoAzguoHQKXLTPjzo0*e z;ZuXa`{`%Z%#0z#5cOazA?4t}z=Yu7;PXq?+$2|$pDP2E<1icGV0!ow@fgIQgoHf6 zFg_zv;D--HX5T*w7Z|kn6&iIvEm)1_G$%Rt2J=zrGs;mmRH=E`-q>}pTIdQZxOs7C z5pLH2qWFWxQwY%pY3mmd5Kw7&fw@2So`vIa4Jsr!*bwZ-X`@pdjGIL?`ZTKMJW`&6 zp6O12$V|Ytd4PgsmpFxbBDkP(AIzr@?rx+Yp%~Mg7_nxpFGPvE>(dO^uZzGFO3<{( zYrkY_%jobC_dvH8 zHxJs7uWJDqkuaj7DJca*u@i~lrKQ{g5(x@G@tmN!ZDX-ybPgJ%JD~nQIX`b=%c!Jy z88O%oKzhI?G9eTrXyD+0_#3V; zYzlDV(E3CMdol3wi6^Wzxy*X{q&*lQnvQ%0YXKJJ5Dm8)GPNq52#4&`8R}GN8vMvr zO--{9ofNsW17~zU{xi+uXtg$SHw#Xsr_$LTssZT$k17orf#4KiuU4O3alGmhI7U1H zuUB|MfL4Nva<;E!-Nf{Ci+M@QuV;oZpSd3esj!CUum)(i!W@IiT*0czl$A>m!Tm!(v4A^YB0+EuoOXJn_TKz(8z@jQX#T72J$1`(d64 z(pe3ORovN2Hw>ZQmoVA}ZRP37Xy_20On`jM4VL60)M{u*qZyMP@;T(*hrEQun|fc; zOrYyV5Nn{1=SXx{DC91jTa69?CKBNQX2Bc~{tLAk#29Oc5@Am>UH7+$`5ZoiY7-C5 zOF+gXKY#wL(tw_G7J>DTfZD}yp>D#4Hv~5G%^NIOf=KTxJ)r$&@PbZQe%Py zoo59I?tb}V2z6HEvKUgZ0LO%>UTJA zt_pY!M6i&cpu4+i^=&cynYaQwLWpZTeVPQRhQPtfU1SI-s3p79WXi*YOPdhD)oZ?t zO>|3$-)Tb*s^B6bB3Ztt&j*Kw8bgv=4n4P*NlCN8Xbpkb?*VdNCLo|WA%my5NRbUL zeT!7iggwvDF)&DjJM=*7`G9{%x3)pZC5vkp~Pl90`w?Xk`$1Nl#Co>rTbZMf+*szy-(bi4=Vh z-3m$9K&abX9vz*NC~X2?M_SwgE|BbWZ_&a%6WZO4;Ud*J9GqfavfoZSgp!n$1frt| zhl!-L2!n)FVh{A%O~`wZ8#72(9pp|a!NHgLSHE1!P%B93T}AncAv5O%DT#l3$QqHd zb#!$@{QW81-Q6>Ff8F4QD+kCSL&9YQ*%paz=Hy3^=Lh?1&pG&THsq_p2(>cQbKu+oT_#kI26^6K# z2)iK)(#_t^xZk7=FQn^`c%U%7_aa*E$@J+-1>H1&*a4%9hW_kyC~-CR z_xH~|EEPkf;L)QkF2HPr{lVAesK6e_I8I%K*kY}L`78+W($aHKuY=snikk%KeQ?@Z zFtVlA@Ps>34Dcanni?pzOa!|@4hAW0!d4;OemuUIrA-LvY6t`KMea_3I)~USL^@D8 zaspY!p#5A4(hGs39bI5Ujrs+%pE1dM5OxOna0X~ADh(JJ1jtT=An7{7>Y+Ioh}vv+ z$%q2rY?kjUh8^hPECS1Y*R={pOGiN=1S~Ux+cE*Ns;|!{JYJp5p%&f=eFU`?rOUoRS<`_kbDH!aItBtZ_e4c+^6_bu3|YPJwM5fE zL(&aN1mk^u`+#N;kdx;kw|8$xw$455g)cV>hfA9bNJ#{)=?vuSy~iQprT_qX<>iIk zQFPk*<<$#R6ZzIwm4?$R49LuSwf-6Om9NzkA*K&nVD3#4U?jZOQ{D#$2R-GsCNMf3 z5I7_R%=KlP*gi$|zlHFgRt!o2_!-iU02lt|6a54f00pysCwmcP2(Dwi%g=*r5~RE~ z5`i`ir1mp#>((Ds6?9y_IOtY**2h|N{$xH1Agn;<2Z?l+L5!mqn2jRD?JVC(PH$Eu zjX`e70#r+XvR_vD-7HH7^ahw6vQu!nsvxoU#NWk4>dPwsPdnHC(o`6Rk7k+<6N1dd z8Pkb0ZxIf)w7e8F33YkR%M`>ii&Asm!fj|+sc58Q{vc#lH0O1ht#DyzY^a!d874Co z!-j_QmZDB)&sRUzAJ7l|G!7ibIp6ob&-=X3`#nc(K11>`u(Km?i8ryBi>ktc!cbyi z^ZL{!aazSNnyyzM^R#}I{!7%nrAQ=tLy8Xz5$dQ$qG$B zs5~21U-r$(IM`otw;X?#1xq%~O0}hhu2{{~G+&M+BsV=>N>l_Sz;SPHP~ISiPd4?Y z*vANu8nKuZR&t&RMYpE5RtgHylv=>N*PF%dBLo(p>BNDbDzeCMo>p`mS=)+ zP-^*+BD~I*!Ff4xBV$VWHaH}Njj0>DJrP7hvL9L0n0F)mAN@wsLD4rCqXRtKFNlVPFn=5bk%IW(vI|>ZBV|0Sf y6g8>3!Y99!#)6<5CDM`{L+!EtfBEmN#^9c5v@K(ZnRe8VY!c^u*tyo=l;WR-O332? diff --git a/lib/matplotlib/tests/baseline_images/test_axes/auto_numticks.png b/lib/matplotlib/tests/baseline_images/test_axes/auto_numticks.png new file mode 100644 index 0000000000000000000000000000000000000000..91d22076845722decc41e4e3763f46989366d99a GIT binary patch literal 21360 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 literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py index a5b3edf80b83..8e22e6495715 100644 --- a/lib/matplotlib/tests/test_axes.py +++ b/lib/matplotlib/tests/test_axes.py @@ -4236,6 +4236,12 @@ def _helper_y(ax): assert assert_array_equal(ax_lst[0][1].get_xlim(), orig_xlim) +@image_comparison(baseline_images=["auto_numticks"], style='default', + extensions=['png']) +def test_auto_numticks(): + fig, axes = plt.subplots(4, 4) + + if __name__ == '__main__': import nose import sys diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index 29f654314c59..903d62fb5c00 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -202,6 +202,10 @@ def get_data_interval(self): def set_data_interval(self, vmin, vmax): self.dataLim.intervalx = vmin, vmax + def get_tick_space(self): + # Just use the long-standing default of nbins==9 + return 9 + class TickHelper(object): axis = None @@ -1355,7 +1359,9 @@ def __init__(self, *args, **kwargs): Keyword args: *nbins* - Maximum number of intervals; one less than max number of ticks. + Maximum number of intervals; one less than max number of + ticks. If the string `'auto'`, the number of bins will be + automatically determined based on the length of the axis. *steps* Sequence of nice numbers starting with 1 and ending with 10; @@ -1393,7 +1399,9 @@ def __init__(self, *args, **kwargs): def set_params(self, **kwargs): """Set parameters within this locator.""" if 'nbins' in kwargs: - self._nbins = int(kwargs['nbins']) + self._nbins = kwargs['nbins'] + if self._nbins != 'auto': + self._nbins = int(self._nbins) if 'trim' in kwargs: self._trim = kwargs['trim'] if 'integer' in kwargs: @@ -1422,6 +1430,8 @@ def set_params(self, **kwargs): def bin_boundaries(self, vmin, vmax): nbins = self._nbins + if nbins == 'auto': + nbins = self.axis.get_tick_space() scale, offset = scale_range(vmin, vmax, nbins) if self._integer: scale = max(1, scale) @@ -1907,7 +1917,11 @@ def tick_values(self, vmin, vmax): class AutoLocator(MaxNLocator): def __init__(self): - MaxNLocator.__init__(self, nbins=9, steps=[1, 2, 5, 10]) + if rcParams['_internal.classic_mode']: + nbins = 9 + else: + nbins = 'auto' + MaxNLocator.__init__(self, nbins=nbins, steps=[1, 2, 5, 10]) class AutoMinorLocator(Locator): From 3a9566008ee5a28474467de2a90804ab687d9fc7 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Sun, 20 Dec 2015 15:19:20 -0500 Subject: [PATCH 06/10] Merge pull request #5701 from jayvdb/str.formatter FIX: str.formatter invalid --- lib/matplotlib/dates.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/dates.py b/lib/matplotlib/dates.py index 2c1f73547ba2..04c5da0f0996 100755 --- a/lib/matplotlib/dates.py +++ b/lib/matplotlib/dates.py @@ -707,7 +707,7 @@ def __call__(self, x, pos=None): elif six.callable(fmt): result = fmt(x, pos) else: - raise TypeError('Unexpected type passed to {!r}.'.formatter(self)) + raise TypeError('Unexpected type passed to {0!r}.'.format(self)) return result From 5d906187cb9f8d4e0d452045795cbc024cf8d923 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Sun, 20 Dec 2015 15:49:59 -0500 Subject: [PATCH 07/10] Merge pull request #5702 from jayvdb/runtime-error-str-format FIX: Add missing substitution value --- doc/make.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/make.py b/doc/make.py index 55942734d712..783e159be23c 100755 --- a/doc/make.py +++ b/doc/make.py @@ -165,7 +165,7 @@ def all(): os.unlink(link) else: raise RuntimeError("doc/{0} should be a directory or symlink -- it" - " isn't") + " isn't".format(link)) if not os.path.exists(link): if hasattr(os, 'symlink'): os.symlink(target, link) From f19fea68560e40d92060c6e5b959ddccf7207c74 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Sun, 20 Dec 2015 15:56:28 -0500 Subject: [PATCH 08/10] Merge pull request #5700 from efiring/colorbar_tick_trim BUG: handle colorbar ticks with boundaries and NoNorm; closes #5673 used master branch pngs --- lib/matplotlib/colorbar.py | 2 +- lib/matplotlib/tests/test_colorbar.py | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/colorbar.py b/lib/matplotlib/colorbar.py index 82d5a04f7341..ad6a145a9d12 100644 --- a/lib/matplotlib/colorbar.py +++ b/lib/matplotlib/colorbar.py @@ -580,7 +580,7 @@ def _ticker(self): else: b = self._boundaries[self._inside] locator = ticker.FixedLocator(b, nbins=10) - if isinstance(self.norm, colors.NoNorm): + if isinstance(self.norm, colors.NoNorm) and self.boundaries is None: intv = self._values[0], self._values[-1] else: intv = self.vmin, self.vmax diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py index de7decb6ec62..8d0bc1d709b8 100644 --- a/lib/matplotlib/tests/test_colorbar.py +++ b/lib/matplotlib/tests/test_colorbar.py @@ -282,6 +282,22 @@ def test_colorbar_closed_patch(): extend='neither', values=values) +@cleanup +def test_colorbar_ticks(): + # test fix for #5673 + fig, ax = plt.subplots() + x = np.arange(-3.0, 4.001) + y = np.arange(-4.0, 3.001) + X, Y = np.meshgrid(x, y) + Z = X * Y + clevs = np.array([-12, -5, 0, 5, 12], dtype=float) + colors = ['r', 'g', 'b', 'c'] + cs = ax.contourf(X, Y, Z, clevs, colors=colors) + cbar = fig.colorbar(cs, ax=ax, extend='neither', + orientation='horizontal', ticks=clevs) + assert len(cbar.ax.xaxis.get_ticklocs()) == len(clevs) + + if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) From 4fd5f559005240eae34a95e3a7d2ecb9e640e8b8 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Sun, 20 Dec 2015 15:56:28 -0500 Subject: [PATCH 09/10] Merge pull request #5700 from efiring/colorbar_tick_trim BUG: handle colorbar ticks with boundaries and NoNorm; closes #5673 --- .../test_colorbar/double_cbar.png | Bin 7797 -> 7800 bytes .../contour_manual_colors_and_levels.png | Bin 28340 -> 28760 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/matplotlib/tests/baseline_images/test_colorbar/double_cbar.png b/lib/matplotlib/tests/baseline_images/test_colorbar/double_cbar.png index b7f1f927207a4ebe3165cd334198f01d75534630..ff2c50eb405c969415d83af9118321a03486666d 100644 GIT binary patch delta 7292 zcmYj$c|26_8}``APWClK$`X<#j4Y|Fg=Cvi+1HS)GsjxCNQz_`v`|^I3p159Bqck; z5MnH28NW9Z7jmuuW8Yf)xZ)iAWS|gqLTIP7d&B`O9Y_Ayuqkx0DHc#((x@`Eut)_CcNB-U)KL=2GqePpEbt!-Hwmobmt zd~cR4?BU$06MxwKzm3}@XJOb?xNNn>mo5mw2Trzc1q(-rJZI!!V1Dzbtm+GkVQ9|~ zr=h{w*9+9mxU+ZP$7Pmr;JrjTJ=}wqXfkt?uoOT!tQjoJqn=;&O+m z6B-&n8-@&|NLOC;jM9bE`^Bk-`S+Xu9Aj|BjgJxPcq7=F>lYBu%e95OK0@QDjB{KG z&3qI22UrG5t!&l3g_McSwecLUVS^%pUGeHR?R>KfNZ^}RvTD(DL`ob~mK;HQzx_mF zqA)e}m}Jz-iPNV~n?MqJRf>g$k3B6yH2OKZA(6;x^~MWvzY6+H@G{j4%lw$|xUU)e zwsD&BJt7lgmFQQi=+AE=q-&dBiCU+dbVMc091VB}1ibF(D4GiV_-G#spd>EbCtYVW zg>W`&9tUnS4%4+JmkYNRGQCO7#*IDWD4lpcPR<2w@Ej`Q#Na3D@-Bo|sWRE9#0%G? zX_V zSMji}f7Z8gXEEFQ$L#F44<7xxO@#)C7ptqj0M;W8yhGZ6oK|vMaHXEqpgm`6lRG+k z0~SLty_7CI91x8%K=cj_ylQM5&BurvsbjSHJODMje)>W|wC)@~3*}Jay+e5At{6q0RhUQ0`$uBKMjqI>fswM$Jp6z(@k9E7}6KQ=8Uqbx%5N&`vvC1!V3>bGi(4y zIHsvsp5O-%@K`jetxXSJ$#j)jxJS5DYh_6U52g3lkNDmY!8e~ns$`aAzI5MT6;kwx zRPD(~q8pB0iua|VIsC)ihKlrEB7Z-7K$gv7Rc+tp>&cYbA9N~qj}7MNoFP|U@3JK1 zGoFLImZ)CGh-cqH8{2Wj`_sJmfoO>cT#5q6{$ReA^(cgC^R6>R+Ud%+jZpqqQbKD@ zVL1=u1hOopoeMwhL*exG^=&3}i@BzEN6ImbFsgQ1^H4I}V@2m)lMozAcvAZl4Q|HE zoelSfp2vF!wZ*?-xzm%OIjwc4n`5*ZK9mVi?g+_-2=W?s5p;LN()Bfg#*4L5xBRP^ zc9zAk{MKC zZkbDWjGl$F55f?ii~^*0O&HHY#+8x0b7T|0L^FC1iK)(6DH9pqt5>hGCK)9fok&eh zO*Ww%JTiqKGWhdQT$(Mg$u+CsV72`70i_ic=^s9*gMK-sth}eIWcFCoP-wMzE)5AW0Sr1y4@FV zK8);67nxD-*xnAoKErhJ(Cvx@x+8T*7NdNsFMwiUfih^fWi-EfwY*|?`3jn~xODM| z|M;7ljkchwU8WmdFwO1j^+UbAZv8pRR*9wJGO-4?uzIBVpEd`sr^EwL*tlny^JEHJ z{MBR#a2Pw;es;}g+^vq()l1eQBf7`6#&oc-6AhR{Y5H;Vh*ov}}-RooonNBuX;wD?<6&08VdVKy)6ps3&rS&0e z@q^}*NU;ufb9kanPhtTvye5)MSpOWL%@>zPdZ(#&(~zT-_pZr>U7 zMS^G^a}AeR=*esnOlIzFE%$6zL?*qQ&wgohUhVK*B+FIW3~3yvc}MbHRIG#f5M~xt;Z|%YVkmu2u>7;e2mEb z>3~7_C1(GYFTmk4c^DbDG{o_^0~5~|v#Yh)^&h8FuT#Co)y+Ds&2rkkJAlYkZl~Ho zq=hdsKGr=pb$bsjMBryE%i^%PrlL25M9CmGY6fn1J+Qy<5x?1J!^U?`j)8+!1{wdI zpBDphYa*G-*lfS|estGc<#=UAAb&I4w8xYnWfbx>7 zvfZAymiietA@l?J$&@|CGs&^z1gf8%<^H5UIy7Dx z_3X0CiPJUvR!KhZU#?4@S>1crxA(QuNA>Hc!YdEeMVN6ckF$7jpOkZN9^#)j&ytOsoBD|oS2F5u zOF4^fy}J~#1!;B{rtGt9WxlK++s6IRC)QA3dm{?Os084_w)$y{Nm8HZZ?t2GH}Tz7 zuj5Q^x`wwS)MGXspFb56xO&mj1XR^utCx@+zxjr`RJ+S-9ou%-h7RspvoCXA=qEnE zS8{lG#$tb8|BT6K3j!jn)*RP|J}79b-re-vna;_i8^5q&KGO&%b@#9#jwruZh6K|* zQd027CjhsChJ}PgRyXmKKqw*peMeDcI;pGq7U4jTMk=e%pI)E3Tk~iPnCgUDNOV5t zC9=O>J;EL?)PD1beXGSe?{1!mM*J8ZTpAUS<&z{w-omXn3Esyy2^-6huWX7hstRUu z^U1^pcVdxz)_07>C|?h>AGmtc9=W%>+Uo7M0UgtAouuP8pJ|$_QfX81+#lO%%bT2a zvggEvKfyPMy3Bizf2C-*&LVLN_jtIWWTBD2`C>&yvh^U-WYY2ahg`*ys5gnLj&{2$ zS;>SCabm>xKs_{x1crT%{~kX#lmvHa%azC%RXiG@opPGRB+4u(^taxk`G(2y=s&%RH|$&oaDSpNnEHnF zMOKs#Xz6uxlI_D0-px?SKkR^#cghBCo`p7FsBryV%7YQ#@}CVT+D*wJ=QeJezZ=c7 z5VjI%l>R#ZePwM>$GNxCKwD|WpF*y`=9h_mv7kWUp~X*u%uV0OcBZhyWa-NlTde~L zs^x}rjCZFR17Huo``trLBZ)zyLN^;k=Q|C4tg%x*u}Imtx&niLewNWitZQc9k2*H* zN9XV3Q&L)5x?>N6eH%g&HLAa?3LphRCkAP|Q%0`;@=fH=vVzYoEqMy6xLghm)zHGm zXrPdXifd!l)_+3VKab^BSQYAaJ>V3(S>twb*;tQ-LwGLO?$5&Bq9Co0iqejn+=}?W z+kANlaNFA0U^um=4Z(cAvo!d!wpQ)+(B3gP`&`R%QGYxWd-LJy`wLB+BI=!Al7E;b z^(h~D465?JG|OCi<^ZFUzHlL50TuHkiCrj4{F!Eqa;%{ifuVW#hq->L90Gjni`&>B zL#Z!_cfVK_WC}YlB{s=Ap-cBVHnC{*pSShERT2ymX7(D~Hk&M!<2U`)5cH7AWw@Kv zkI~WY(aL{Kfp*mHDOt0OU0pfz^7AcSK!{OyK=!luyjFNwY6nL5n+6=tlu_$FEHfLq zEHR7Ncm3MmuM@fbYV5>G)7Kps9DI~gQM{nXZo)j?6a<&Id|`6xcxgk!v&Rzv%E#2E zQniL8^rQq_kO;BLQ%{0Za6M|rT(YLO(*Wt95~uX`Mr`$u)FhFlTbVK+zSVZyin9W@oHK9FbQy=! zU?I|!q?bowMP40(nA$r)&vvhD=3QJT+xfuh%jV|n8lD4Nx=Q9F8gU8JCeV;*eDq^e z#e*NNdiQpuQtCso1N-B(icXwrw(1l`|q!qL%j00l*bt&Qdx!ZsY@IwqFCtD?(DbV|63 z{m2)7;e175&;v0^+{EYp$nz=f$$p!TE^SS9N}Q!ya##mZ&)?l?`n7P)Am}4hHj-Ob z)UT?AITlOZ2rmr#lu|<;`Dy+w85_bZ2n)>q$bFJ8gD7S08D1oqJT-Ga~k3stIpYJ^do}ArSTny>G#TDcbP_mi5eTuXsatm4>QM%so^Q1v2_4LsGS2)-Xr>UlIDvtbn{$}$67X*Z9*`UPg z+c}}XT7eEYe7SxUb`eC2AKi3&wAMo|3EU&C**Q!cLm}-{CiJMeCu`y%fa?6heMD7? zJvcb1udm-7ulg6I3@K<4XhP^5hAv0R5f`T2xS$0pOjPNAF^t%3-;X%>ohzby?-UP} z<)_4qLKA6U3gke;nw>xH>zQgfaV}d22QydK!m;^XQSfp#HQx?eZzh9Rb~HkGAKNQY zY;&$pz7J#@v{_9}J^JT>n|5|4U>v+qi1XCLKd!hXKf+cVZPd8?q)&93(9dQc7UQp} z!q;z@*jnn({~+ttHHk?qJ4#!{2`M{uPI#dP$2y3b=YwVkz<#xzOHsM4Xc`A?q5U+o z7M8@?*$zGaAakj*y(!e$_~6D6e*IEUq#%&YaaKX$AqWojs9o;|+)_nbS94a&&$e`- zD-QDhveAT@^e8AMA$XxXm`2?XJvvzai3WgbHl25ISjt21PslRDaBnVg)A*t)o;S@^E_$3OA&TH?}}4iElyjA#X)Rs^ntkdjA- zBzY0DjStNPgf4VsfPCFdqkkEZ9aAulpJuGIIKaIoE%M0+l9bx@=>%S*d(0O`z zWMyX?U%JF>X=w?2cqe5v)4)C`Bn|k)_}4S)m}h4k)B~rrB@w&Vexs~-U)CPlt4wT% zDueOjmIti_Kr?^5HgD%T;qd{De3k7dN@b(#*SUSUS!uLV6uO@mui#lF| z^P@S%&fD17JZ_W{;HBHuX-#=3MR|V%*!kELp*Gm?@yDTxYgctm%~@rs)BMS4(ict5 zKo|qRe3ALSt1WImdA~a_Y7`Zuv`BH#u)Q7y2M>>z{(Gc449e1ewbNh_F}?5H4fHYF zH_oZhQ#clx*bZaRjv3lpSXyRS4{bw|y7%~Fi9l$aIxrOqD zyWK6jq`g^ta5sFr@j1v3ZPm6dBk4|Vcg`A?GSN(eDJgdB)~j@>zl5n%8ETqo%AXGI zk%;4kKIX7-ylphC3e|dB>6{(C_%lt1*wdubx}fY#ZIbXW{?k;gL2^zKpCRO&q~*03 zi$wL)8Wy1|h&Wr|Ai=D8-jTA+#7n}RBY{|-=`(0Us5dj&ubw$QXkN36ht!7~~1?kWu* zh-0y#{cQfYMRQ`O5g;!6deMzS@xg^r*Po>LVNWEiXaL?2YEO&~mAf`;9$L@`NAF87 zTO1xMN$)(P(~7z=)sHjxkLmpk`=}u>hP95P9U2_3#$l{& zfq_Vw;C1Da4n$weJnehUMiYnfnblf&r*%y{YjMW767mXl6Dc@*#CZ;2)Cy!yNKd=W zh|~c1iTM}x%usbp)Mlsj)y;wYY#{6Y)_Y%0}ypvH5sy+G=*cSp?cZuo^`ovT956j3RzgV zgWDZ!@M>(i1-&gJegJtv{Me*a(|)$Lc?0iNKo}kQ;^A>F-Dyg(3c1Q&AuAKxI+sME ziy=ifN99pbUJ7tmR_CQJv%dR13YM#Y6C}t0u@ufAIxB8v?2k4jUu(}$(FR-p)mR4{ z%iUcb|F)Bd}KubgxuX@=;PdD z-+gEj4V;w0EikL?cYXTRlQ{} zi=bu-;_&eH{$hs7Tnk?_^f;pOOlsiHkE50OU9>e%x7S+ck0V_GY(l>aDX8b~bq%xd zx!e#$B>9zUw!tQw3NLSdWb}w3{(7@#PnngzQbkV|DYIH@dv~B&CzabhY4^C>>+ALF z0UY>n0z)5!npWYHC%bUxDo-c39K)`Hm33gXFLDs?Y}*?cuWbC@t z<|~PmpEWSj0*9Pl4$SyfcD%+}ZF<;V9`SYv_kjKTH@^mE{Rj*@smH5(%vQk2wibV0 z1a9Qf*U)|R^J6Xq&J7podZ#svw%6KT`M}ebSvhXyz8p;+QScT zJQ7i(l-o`BG^4~Gq$Wd7_xEF*+@1go9c!@{lvDjQ+I$vwZuuNrm*${FgP6oZsQK$;IQ?xz zTo9UizuLH#lNW=T<0pist1SF{uQ}#fuAy^367~Yw{@M@j2K9)OiH*YqIuOzzPzY=_ z0uIqjARzVv#{pk8qDiy10b89zez(`bDTW?An zA2w%A=v}<`+5Udp8+z+#e=PPk-YU~t);D8FAg2^t=Vk5o5BDO0g`*xkmDjKJA)BR` zE|m3@agj8@MImnX*UkTSu&E$T{tdk;?b&i-DoP4mq`ye~B+hFX5bPJ?+|pbuBZD*w zF@ZF64)#$c&wg02zf{llE17i*k&P4+H&xRiUNB+bZLi_%3r6;2tdP$5-yqH86=C(XHvWivF zy|qUAK{CBxT6(4k(l?n=CYJ3=0aI%pHEx%QNG~F#0f5+{CbAZvAUGE1PoVgF7tfn@ z_oP?-cb0CZ&akNt`Z2h4v+}BDCyy$X8Ml$vHB$Od*OJP@+VJn@A9dvb z-$>{jBZ}8nbb?$9XLllzSjL*vO)sn8dz3Lu7W=Rk>mi{E-ET(}u9&{G3vN~2n$Fl? zoVzz?y_JGFF_sL1$zD$+G$*HNqA}oKz zix)41&$>Ynw=7LV@IzkO-w$|Ef=AFD`-^^WSz%ca@OQ=3%B0H3E&l%i D!-shN delta 7263 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 Date: Tue, 22 Dec 2015 16:56:38 -0500 Subject: [PATCH 10/10] Set maximum number of bins in ticking --- lib/matplotlib/ticker.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/ticker.py b/lib/matplotlib/ticker.py index 903d62fb5c00..22dd2b68c275 100644 --- a/lib/matplotlib/ticker.py +++ b/lib/matplotlib/ticker.py @@ -1431,7 +1431,7 @@ def set_params(self, **kwargs): def bin_boundaries(self, vmin, vmax): nbins = self._nbins if nbins == 'auto': - nbins = self.axis.get_tick_space() + nbins = min(self.axis.get_tick_space(), 9) scale, offset = scale_range(vmin, vmax, nbins) if self._integer: scale = max(1, scale)