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

Deprecate factor=None in axisartist. #13876

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 21, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions 7 doc/api/next_api_changes/2019-04-16-AL.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Deprecations
````````````

Returning a factor equal to None from axisartist Locators (which are **not**
the same as "standard" tick Locators), or passing a factor equal to None
to axisartist Formatters (which are **not** the same as "standard" tick
Formatters) is deprecated. Pass a factor equal to 1 instead.
57 changes: 24 additions & 33 deletions 57 lib/mpl_toolkits/axisartist/grid_finder.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,16 @@
from .clip_path import clip_line_to_rect


def _deprecate_factor_none(factor):
# After the deprecation period, calls to _deprecate_factor_none can just be
# removed.
if factor is None:
cbook.warn_deprecated(
"3.2", "factor=None is deprecated; use/return factor=1 instead")
factor = 1
return factor


# extremes finder
class ExtremeFinderSimple(object):
def __init__(self, nx, ny):
Expand Down Expand Up @@ -88,14 +98,8 @@ def get_grid_info(self, x1, y1, x2, y2):
lon_levs, lon_n, lon_factor = self.grid_locator1(lon_min, lon_max)
lat_levs, lat_n, lat_factor = self.grid_locator2(lat_min, lat_max)

if lon_factor is None:
lon_values = np.asarray(lon_levs[:lon_n])
else:
lon_values = np.asarray(lon_levs[:lon_n]/lon_factor)
if lat_factor is None:
lat_values = np.asarray(lat_levs[:lat_n])
else:
lat_values = np.asarray(lat_levs[:lat_n]/lat_factor)
lon_values = lon_levs[:lon_n] / _deprecate_factor_none(lon_factor)
lat_values = lat_levs[:lat_n] / _deprecate_factor_none(lat_factor)

lon_lines, lat_lines = self._get_raw_grid_lines(lon_values,
lat_values,
Expand Down Expand Up @@ -226,37 +230,29 @@ def __init__(self, nbins=10, steps=None,
integer=integer,
symmetric=symmetric, prune=prune)
self.create_dummy_axis()
self._factor = None
self._factor = 1

def __call__(self, v1, v2):
if self._factor is not None:
self.set_bounds(v1*self._factor, v2*self._factor)
locs = mticker.MaxNLocator.__call__(self)
return np.array(locs), len(locs), self._factor
else:
self.set_bounds(v1, v2)
locs = mticker.MaxNLocator.__call__(self)
return np.array(locs), len(locs), None
self.set_bounds(v1 * self._factor, v2 * self._factor)
locs = mticker.MaxNLocator.__call__(self)
return np.array(locs), len(locs), self._factor

def set_factor(self, f):
self._factor = f
self._factor = _deprecate_factor_none(f)


class FixedLocator(object):
def __init__(self, locs):
self._locs = locs
self._factor = None
self._factor = 1

def __call__(self, v1, v2):
if self._factor is None:
v1, v2 = sorted([v1, v2])
else:
v1, v2 = sorted([v1*self._factor, v2*self._factor])
v1, v2 = sorted([v1 * self._factor, v2 * self._factor])
locs = np.array([l for l in self._locs if v1 <= l <= v2])
return locs, len(locs), self._factor

def set_factor(self, f):
self._factor = f
self._factor = _deprecate_factor_none(f)


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

def __call__(self, direction, factor, values):
if not self._ignore_factor:
if factor is None:
factor = 1
values = [v / factor for v in values]
values = [v / _deprecate_factor_none(factor) for v in values]
return self._fmt.format_ticks(values)


Expand All @@ -290,13 +284,10 @@ def __call__(self, direction, factor, values):
"""
factor is ignored if value is found in the dictionary
"""

if self._fallback_formatter:
fallback_strings = self._fallback_formatter(
direction, factor, values)
else:
fallback_strings = [""]*len(values)

r = [self._format_dict.get(k, v) for k, v in zip(values,
fallback_strings)]
return r
fallback_strings = [""] * len(values)
return [self._format_dict.get(k, v)
for k, v in zip(values, fallback_strings)]
26 changes: 9 additions & 17 deletions 26 lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from matplotlib.transforms import Affine2D, IdentityTransform
from .axislines import AxisArtistHelper, GridHelperBase
from .axis_artist import AxisArtist
from .grid_finder import GridFinder
from .grid_finder import GridFinder, _deprecate_factor_none


class FixedAxisArtistHelper(AxisArtistHelper.Fixed):
Expand Down Expand Up @@ -132,12 +132,12 @@ def update_lim(self, axes):

self.grid_info = {
"extremes": extremes,
"lon_info": (lon_levs, lon_n, lon_factor),
"lat_info": (lat_levs, lat_n, lat_factor),
"lon_info": (lon_levs, lon_n, _deprecate_factor_none(lon_factor)),
"lat_info": (lat_levs, lat_n, _deprecate_factor_none(lat_factor)),
"lon_labels": grid_finder.tick_formatter1(
"bottom", lon_factor, lon_levs),
"bottom", _deprecate_factor_none(lon_factor), lon_levs),
"lat_labels": grid_finder.tick_formatter2(
"bottom", lat_factor, lat_levs),
"bottom", _deprecate_factor_none(lat_factor), lat_levs),
"line_xy": (xx, yy),
}

Expand Down Expand Up @@ -183,21 +183,13 @@ def get_tick_iterators(self, axes):

lat_levs, lat_n, lat_factor = self.grid_info["lat_info"]
lat_levs = np.asarray(lat_levs)
if lat_factor is not None:
yy0 = lat_levs / lat_factor
dy = 0.01 / lat_factor
else:
yy0 = lat_levs
dy = 0.01
yy0 = lat_levs / _deprecate_factor_none(lat_factor)
dy = 0.01 / _deprecate_factor_none(lat_factor)

lon_levs, lon_n, lon_factor = self.grid_info["lon_info"]
lon_levs = np.asarray(lon_levs)
if lon_factor is not None:
xx0 = lon_levs / lon_factor
dx = 0.01 / lon_factor
else:
xx0 = lon_levs
dx = 0.01
xx0 = lon_levs / _deprecate_factor_none(lon_factor)
dx = 0.01 / _deprecate_factor_none(lon_factor)

if None in self._extremes:
e0, e1 = self._extremes
Expand Down
Morty Proxy This is a proxified and sanitized view of the page, visit original site.