Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 11120f3

Browse filesBrowse files
authored
Merge pull request matplotlib#13876 from anntzer/axisartist-factor
Deprecate factor=None in axisartist.
2 parents 369c3c3 + e900be3 commit 11120f3
Copy full SHA for 11120f3

File tree

Expand file treeCollapse file tree

3 files changed

+40
-50
lines changed
Filter options
Expand file treeCollapse file tree

3 files changed

+40
-50
lines changed
+7Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Deprecations
2+
````````````
3+
4+
Returning a factor equal to None from axisartist Locators (which are **not**
5+
the same as "standard" tick Locators), or passing a factor equal to None
6+
to axisartist Formatters (which are **not** the same as "standard" tick
7+
Formatters) is deprecated. Pass a factor equal to 1 instead.

‎lib/mpl_toolkits/axisartist/grid_finder.py

Copy file name to clipboardExpand all lines: lib/mpl_toolkits/axisartist/grid_finder.py
+24-33Lines changed: 24 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@
55
from .clip_path import clip_line_to_rect
66

77

8+
def _deprecate_factor_none(factor):
9+
# After the deprecation period, calls to _deprecate_factor_none can just be
10+
# removed.
11+
if factor is None:
12+
cbook.warn_deprecated(
13+
"3.2", "factor=None is deprecated; use/return factor=1 instead")
14+
factor = 1
15+
return factor
16+
17+
818
# extremes finder
919
class ExtremeFinderSimple(object):
1020
def __init__(self, nx, ny):
@@ -88,14 +98,8 @@ def get_grid_info(self, x1, y1, x2, y2):
8898
lon_levs, lon_n, lon_factor = self.grid_locator1(lon_min, lon_max)
8999
lat_levs, lat_n, lat_factor = self.grid_locator2(lat_min, lat_max)
90100

91-
if lon_factor is None:
92-
lon_values = np.asarray(lon_levs[:lon_n])
93-
else:
94-
lon_values = np.asarray(lon_levs[:lon_n]/lon_factor)
95-
if lat_factor is None:
96-
lat_values = np.asarray(lat_levs[:lat_n])
97-
else:
98-
lat_values = np.asarray(lat_levs[:lat_n]/lat_factor)
101+
lon_values = lon_levs[:lon_n] / _deprecate_factor_none(lon_factor)
102+
lat_values = lat_levs[:lat_n] / _deprecate_factor_none(lat_factor)
99103

100104
lon_lines, lat_lines = self._get_raw_grid_lines(lon_values,
101105
lat_values,
@@ -226,37 +230,29 @@ def __init__(self, nbins=10, steps=None,
226230
integer=integer,
227231
symmetric=symmetric, prune=prune)
228232
self.create_dummy_axis()
229-
self._factor = None
233+
self._factor = 1
230234

231235
def __call__(self, v1, v2):
232-
if self._factor is not None:
233-
self.set_bounds(v1*self._factor, v2*self._factor)
234-
locs = mticker.MaxNLocator.__call__(self)
235-
return np.array(locs), len(locs), self._factor
236-
else:
237-
self.set_bounds(v1, v2)
238-
locs = mticker.MaxNLocator.__call__(self)
239-
return np.array(locs), len(locs), None
236+
self.set_bounds(v1 * self._factor, v2 * self._factor)
237+
locs = mticker.MaxNLocator.__call__(self)
238+
return np.array(locs), len(locs), self._factor
240239

241240
def set_factor(self, f):
242-
self._factor = f
241+
self._factor = _deprecate_factor_none(f)
243242

244243

245244
class FixedLocator(object):
246245
def __init__(self, locs):
247246
self._locs = locs
248-
self._factor = None
247+
self._factor = 1
249248

250249
def __call__(self, v1, v2):
251-
if self._factor is None:
252-
v1, v2 = sorted([v1, v2])
253-
else:
254-
v1, v2 = sorted([v1*self._factor, v2*self._factor])
250+
v1, v2 = sorted([v1 * self._factor, v2 * self._factor])
255251
locs = np.array([l for l in self._locs if v1 <= l <= v2])
256252
return locs, len(locs), self._factor
257253

258254
def set_factor(self, f):
259-
self._factor = f
255+
self._factor = _deprecate_factor_none(f)
260256

261257

262258
# Tick Formatter
@@ -270,9 +266,7 @@ def __init__(self, useMathText=True):
270266

271267
def __call__(self, direction, factor, values):
272268
if not self._ignore_factor:
273-
if factor is None:
274-
factor = 1
275-
values = [v / factor for v in values]
269+
values = [v / _deprecate_factor_none(factor) for v in values]
276270
return self._fmt.format_ticks(values)
277271

278272

@@ -290,13 +284,10 @@ def __call__(self, direction, factor, values):
290284
"""
291285
factor is ignored if value is found in the dictionary
292286
"""
293-
294287
if self._fallback_formatter:
295288
fallback_strings = self._fallback_formatter(
296289
direction, factor, values)
297290
else:
298-
fallback_strings = [""]*len(values)
299-
300-
r = [self._format_dict.get(k, v) for k, v in zip(values,
301-
fallback_strings)]
302-
return r
291+
fallback_strings = [""] * len(values)
292+
return [self._format_dict.get(k, v)
293+
for k, v in zip(values, fallback_strings)]

‎lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py

Copy file name to clipboardExpand all lines: lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py
+9-17Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from matplotlib.transforms import Affine2D, IdentityTransform
1010
from .axislines import AxisArtistHelper, GridHelperBase
1111
from .axis_artist import AxisArtist
12-
from .grid_finder import GridFinder
12+
from .grid_finder import GridFinder, _deprecate_factor_none
1313

1414

1515
class FixedAxisArtistHelper(AxisArtistHelper.Fixed):
@@ -132,12 +132,12 @@ def update_lim(self, axes):
132132

133133
self.grid_info = {
134134
"extremes": extremes,
135-
"lon_info": (lon_levs, lon_n, lon_factor),
136-
"lat_info": (lat_levs, lat_n, lat_factor),
135+
"lon_info": (lon_levs, lon_n, _deprecate_factor_none(lon_factor)),
136+
"lat_info": (lat_levs, lat_n, _deprecate_factor_none(lat_factor)),
137137
"lon_labels": grid_finder.tick_formatter1(
138-
"bottom", lon_factor, lon_levs),
138+
"bottom", _deprecate_factor_none(lon_factor), lon_levs),
139139
"lat_labels": grid_finder.tick_formatter2(
140-
"bottom", lat_factor, lat_levs),
140+
"bottom", _deprecate_factor_none(lat_factor), lat_levs),
141141
"line_xy": (xx, yy),
142142
}
143143

@@ -183,21 +183,13 @@ def get_tick_iterators(self, axes):
183183

184184
lat_levs, lat_n, lat_factor = self.grid_info["lat_info"]
185185
lat_levs = np.asarray(lat_levs)
186-
if lat_factor is not None:
187-
yy0 = lat_levs / lat_factor
188-
dy = 0.01 / lat_factor
189-
else:
190-
yy0 = lat_levs
191-
dy = 0.01
186+
yy0 = lat_levs / _deprecate_factor_none(lat_factor)
187+
dy = 0.01 / _deprecate_factor_none(lat_factor)
192188

193189
lon_levs, lon_n, lon_factor = self.grid_info["lon_info"]
194190
lon_levs = np.asarray(lon_levs)
195-
if lon_factor is not None:
196-
xx0 = lon_levs / lon_factor
197-
dx = 0.01 / lon_factor
198-
else:
199-
xx0 = lon_levs
200-
dx = 0.01
191+
xx0 = lon_levs / _deprecate_factor_none(lon_factor)
192+
dx = 0.01 / _deprecate_factor_none(lon_factor)
201193

202194
if None in self._extremes:
203195
e0, e1 = self._extremes

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.