Thanks to visit codestin.com
Credit goes to github.com

Skip to content

new MatplotlibDeprecationWarning class #1565

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

Closed
wants to merge 1 commit into from
Closed
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
10 changes: 10 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
2012-12-05 Added MatplotlibDeprecationWarning class for signaling deprecation.
Matplotlib developers can use this class as follows:

from matplotlib import MatplotlibDeprecationWarning as mDeprecation

In light of the fact that Python builtin DeprecationWarnings are
ignored by default as of Python 2.7, this class was put in to allow
for the signaling of deprecation, but via UserWarnings which are
not ignored by default. - PI

2012-11-27 Added the *mtext* parameter for supplying matplotlib.text.Text
instances to RendererBase.draw_tex and RendererBase.draw_text.
This allows backends to utilize additional text attributes, like
Expand Down
14 changes: 14 additions & 0 deletions lib/matplotlib/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,20 @@
if not hasattr(sys, 'argv'): # for modpython
sys.argv = ['modpython']


class MatplotlibDeprecationWarning(UserWarning):
"""
A class for issuing deprecation warnings for Matplotlib users.

In light of the fact that Python builtin DeprecationWarnings are ignored
by default as of Python 2.7 (see link below), this class was put in to
allow for the signaling of deprecation, but via UserWarnings which are not
ignored by default.

http://docs.python.org/dev/whatsnew/2.7.html#the-future-for-python-2-x
"""
pass

"""
Manage user customizations through a rc file.

Expand Down
24 changes: 12 additions & 12 deletions lib/matplotlib/axes.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
import matplotlib.ticker as mticker
import matplotlib.transforms as mtransforms
import matplotlib.tri as mtri
from matplotlib import MatplotlibDeprecationWarning as mDeprecation
from matplotlib.container import BarContainer, ErrorbarContainer, StemContainer

iterable = cbook.iterable
Expand Down Expand Up @@ -154,8 +155,7 @@ def set_default_color_cycle(clist):

"""
rcParams['axes.color_cycle'] = clist
warnings.warn("Set rcParams['axes.color_cycle'] directly",
DeprecationWarning)
warnings.warn("Set rcParams['axes.color_cycle'] directly", mDeprecation)


class _process_plot_var_args(object):
Expand Down Expand Up @@ -1376,11 +1376,11 @@ def get_child_artists(self):

.. deprecated:: 0.98
"""
raise DeprecationWarning('Use get_children instead')
raise mDeprecation('Use get_children instead')

def get_frame(self):
"""Return the axes Rectangle frame"""
warnings.warn('use ax.patch instead', DeprecationWarning)
warnings.warn('use ax.patch instead', mDeprecation)
return self.patch

def get_legend(self):
Expand Down Expand Up @@ -3135,12 +3135,12 @@ def connect(self, s, func):
disconnect to disconnect from the axes event

"""
raise DeprecationWarning('use the callbacks CallbackRegistry instance '
raise mDeprecation('use the callbacks CallbackRegistry instance '
'instead')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indentation on all of these is now squiffy. Would you mind de-denting the continued lines throughout?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Specifically, de-denting to align the starting single quotes--I hope that is what you mean, @pelson.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On Thu, Dec 6, 2012 at 11:39 AM, Eric Firing [email protected]:

Specifically, de-denting to align the starting single quotes--I hope that
is what you mean, @pelson https://github.com/pelson.

+1

Damon McDougall
http://www.damon-is-a-geek.com
Institute for Computational Engineering Sciences
201 E. 24th St.
Stop C0200
The University of Texas at Austin
Austin, TX 78712-1229

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep 😄


def disconnect(self, cid):
"""disconnect from the Axes event."""
raise DeprecationWarning('use the callbacks CallbackRegistry instance '
raise mDeprecation('use the callbacks CallbackRegistry instance '
'instead')

def get_children(self):
Expand Down Expand Up @@ -3192,7 +3192,7 @@ def pick(self, *args):
the artist and the artist has picker set
"""
if len(args) > 1:
raise DeprecationWarning('New pick API implemented -- '
raise mDeprecation('New pick API implemented -- '
'see API_CHANGES in the src distribution')
martist.Artist.pick(self, args[0])

Expand Down Expand Up @@ -3760,7 +3760,7 @@ def hlines(self, y, xmin, xmax, colors='k', linestyles='solid',
.. plot:: mpl_examples/pylab_examples/hline_demo.py
"""
if kwargs.get('fmt') is not None:
raise DeprecationWarning('hlines now uses a '
raise mDeprecation('hlines now uses a '
'collections.LineCollection and not a '
'list of Line2D to draw; see API_CHANGES')

Expand Down Expand Up @@ -3842,7 +3842,7 @@ def vlines(self, x, ymin, ymax, colors='k', linestyles='solid',
"""

if kwargs.get('fmt') is not None:
raise DeprecationWarning('vlines now uses a '
raise mDeprecation('vlines now uses a '
'collections.LineCollection and not a '
'list of Line2D to draw; see API_CHANGES')

Expand Down Expand Up @@ -6143,7 +6143,7 @@ def scatter(self, x, y, s=20, c='b', marker='o', cmap=None, norm=None,
edgecolors = 'none'
warnings.warn(
'''replace "faceted=False" with "edgecolors='none'"''',
DeprecationWarning) # 2008/04/18
mDeprecation) # 2008/04/18

# to be API compatible
if marker is None and not (verts is None):
Expand Down Expand Up @@ -8064,7 +8064,7 @@ def hist(self, x, bins=10, range=None, normed=False, weights=None,


if kwargs.get('width') is not None:
raise DeprecationWarning(
raise mDeprecation(
'hist now uses the rwidth to give relative width '
'and not absolute width')

Expand Down Expand Up @@ -8783,7 +8783,7 @@ def spy(self, Z, precision=0, marker=None, markersize=None,
"""
if precision is None:
precision = 0
warnings.DeprecationWarning("Use precision=0 instead of None")
warnings.warn("Use precision=0 instead of None", mDeprecation)
# 2008/10/03
if marker is None and markersize is None and hasattr(Z, 'tocoo'):
marker = 's'
Expand Down
3 changes: 2 additions & 1 deletion lib/matplotlib/backend_bases.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
import matplotlib.tight_bbox as tight_bbox
import matplotlib.textpath as textpath
from matplotlib.path import Path
from matplotlib import MatplotlibDeprecationWarning as mDeprecation

try:
from PIL import Image
Expand Down Expand Up @@ -2306,7 +2307,7 @@ def start_event_loop_default(self, timeout=0):
"""
str = "Using default event loop until function specific"
str += " to this GUI is implemented"
warnings.warn(str, DeprecationWarning)
warnings.warn(str, mDeprecation)

if timeout <= 0:
timeout = np.inf
Expand Down
4 changes: 3 additions & 1 deletion lib/matplotlib/backends/backend_qt.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@
import sys
import warnings

from matplotlib import MatplotlibDeprecationWarning as mDeprecation

warnings.warn("QT3-based backends are deprecated and will be removed after"
" the v1.2.x release. Use the equivalent QT4 backend instead.",
DeprecationWarning)
mDeprecation)

import matplotlib
from matplotlib import verbose
Expand Down
15 changes: 8 additions & 7 deletions lib/matplotlib/backends/backend_wx.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@

import numpy as np

from matplotlib import MatplotlibDeprecationWarning as mDeprecation

# Debugging settings here...
# Debug level set here. If the debug level is less than 5, information
Expand Down Expand Up @@ -788,7 +789,7 @@ def Printer_Init(self):

Deprecated.
"""
warnings.warn("Printer* methods will be removed", DeprecationWarning)
warnings.warn("Printer* methods will be removed", mDeprecation)
self.printerData = wx.PrintData()
self.printerData.SetPaperId(wx.PAPER_LETTER)
self.printerData.SetPrintMode(wx.PRINT_MODE_PRINTER)
Expand All @@ -802,7 +803,7 @@ def Printer_Init(self):

def _get_printerData(self):
if self._printerData is None:
warnings.warn("Printer* methods will be removed", DeprecationWarning)
warnings.warn("Printer* methods will be removed", mDeprecation)
self._printerData = wx.PrintData()
self._printerData.SetPaperId(wx.PAPER_LETTER)
self._printerData.SetPrintMode(wx.PRINT_MODE_PRINTER)
Expand All @@ -811,7 +812,7 @@ def _get_printerData(self):

def _get_printerPageData(self):
if self._printerPageData is None:
warnings.warn("Printer* methods will be removed", DeprecationWarning)
warnings.warn("Printer* methods will be removed", mDeprecation)
self._printerPageData= wx.PageSetupDialogData()
self._printerPageData.SetMarginBottomRight((25,25))
self._printerPageData.SetMarginTopLeft((25,25))
Expand All @@ -830,7 +831,7 @@ def Printer_Setup(self, event=None):
dmsg = """Width of output figure in inches.
The current aspect ratio will be kept."""

warnings.warn("Printer* methods will be removed", DeprecationWarning)
warnings.warn("Printer* methods will be removed", mDeprecation)
dlg = wx.Dialog(self, -1, 'Page Setup for Printing' , (-1,-1))
df = dlg.GetFont()
df.SetWeight(wx.NORMAL)
Expand Down Expand Up @@ -893,7 +894,7 @@ def Printer_Setup2(self, event=None):
Deprecated.
"""

warnings.warn("Printer* methods will be removed", DeprecationWarning)
warnings.warn("Printer* methods will be removed", mDeprecation)
if hasattr(self, 'printerData'):
data = wx.PageSetupDialogData()
data.SetPrintData(self.printerData)
Expand All @@ -917,7 +918,7 @@ def Printer_Preview(self, event=None):

Deprecated.
"""
warnings.warn("Printer* methods will be removed", DeprecationWarning)
warnings.warn("Printer* methods will be removed", mDeprecation)
po1 = PrintoutWx(self, width=self.printer_width,
margin=self.printer_margin)
po2 = PrintoutWx(self, width=self.printer_width,
Expand All @@ -943,7 +944,7 @@ def Printer_Print(self, event=None):

Deprecated.
"""
warnings.warn("Printer* methods will be removed", DeprecationWarning)
warnings.warn("Printer* methods will be removed", mDeprecation)
pdd = wx.PrintDialogData()
# SetPrintData for 2.4 combatibility
pdd.SetPrintData(self.printerData)
Expand Down
15 changes: 8 additions & 7 deletions lib/matplotlib/cbook.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
from weakref import ref, WeakKeyDictionary

import matplotlib
from matplotlib import MatplotlibDeprecationWarning as mDeprecation

import numpy as np
import numpy.ma as ma
Expand Down Expand Up @@ -281,7 +282,7 @@ def __init__(self, *args):
warnings.warn(
'CallbackRegistry no longer requires a list of callback types.'
' Ignoring arguments',
DeprecationWarning)
mDeprecation)
self.callbacks = dict()
self._cid = 0
self._func_cid_map = {}
Expand Down Expand Up @@ -1676,7 +1677,7 @@ def less_simple_linear_interpolation(x, y, xi, extrap=False):
# deprecated from cbook in 0.98.4
warnings.warn('less_simple_linear_interpolation has been moved to '
'matplotlib.mlab -- please import it from there',
DeprecationWarning)
mDeprecation)
import matplotlib.mlab as mlab
return mlab.less_simple_linear_interpolation(x, y, xi, extrap=extrap)

Expand All @@ -1688,7 +1689,7 @@ def vector_lengths(X, P=2.0, axis=None):
"""
# deprecated from cbook in 0.98.4
warnings.warn('vector_lengths has been moved to matplotlib.mlab -- '
'please import it from there', DeprecationWarning)
'please import it from there', mDeprecation)
import matplotlib.mlab as mlab
return mlab.vector_lengths(X, P=2.0, axis=axis)

Expand All @@ -1700,7 +1701,7 @@ def distances_along_curve(X):
"""
# deprecated from cbook in 0.98.4
warnings.warn('distances_along_curve has been moved to matplotlib.mlab '
'-- please import it from there', DeprecationWarning)
'-- please import it from there', mDeprecation)
import matplotlib.mlab as mlab
return mlab.distances_along_curve(X)

Expand All @@ -1712,7 +1713,7 @@ def path_length(X):
"""
# deprecated from cbook in 0.98.4
warnings.warn('path_length has been moved to matplotlib.mlab '
'-- please import it from there', DeprecationWarning)
'-- please import it from there', mDeprecation)
import matplotlib.mlab as mlab
return mlab.path_length(X)

Expand All @@ -1724,7 +1725,7 @@ def is_closed_polygon(X):
"""
# deprecated from cbook in 0.98.4
warnings.warn('is_closed_polygon has been moved to matplotlib.mlab '
'-- please import it from there', DeprecationWarning)
'-- please import it from there', mDeprecation)
import matplotlib.mlab as mlab
return mlab.is_closed_polygon(X)

Expand All @@ -1736,7 +1737,7 @@ def quad2cubic(q0x, q0y, q1x, q1y, q2x, q2y):
"""
# deprecated from cbook in 0.98.4
warnings.warn('quad2cubic has been moved to matplotlib.mlab -- please '
'import it from there', DeprecationWarning)
'import it from there', mDeprecation)
import matplotlib.mlab as mlab
return mlab.quad2cubic(q0x, q0y, q1x, q1y, q2x, q2y)

Expand Down
3 changes: 2 additions & 1 deletion lib/matplotlib/legend.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
from matplotlib.offsetbox import DraggableOffsetBox

from matplotlib.container import ErrorbarContainer, BarContainer, StemContainer
from matplotlib import MatplotlibDeprecationWarning as mDeprecation
import legend_handler


Expand Down Expand Up @@ -278,7 +279,7 @@ def __init__(self, parent, handles, labels,
# counter part is None.
if localdict[k] is not None and localdict[v] is None:
warnings.warn("Use '%s' instead of '%s'." % (v, k),
DeprecationWarning)
mDeprecation)
setattr(self, v, localdict[k] * axessize_fontsize)
continue

Expand Down
8 changes: 5 additions & 3 deletions lib/matplotlib/mlab.py
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,7 @@
import numpy as np
ma = np.ma
from matplotlib import verbose
from matplotlib import MatplotlibDeprecationWarning as mDeprecation

import matplotlib.cbook as cbook
from matplotlib import docstring
Expand Down Expand Up @@ -1207,7 +1208,8 @@ def liaupunov(x, fprime):
It also seems that this function's name is badly misspelled.
"""

warnings.warn("This does not belong in matplotlib and will be removed", DeprecationWarning) # 2009/06/13
warnings.warn("This does not belong in matplotlib and will be removed",
mDeprecation) # 2009/06/13

return np.mean(np.log(np.absolute(fprime(x))))

Expand Down Expand Up @@ -1339,7 +1341,7 @@ def save(fname, X, fmt='%.18e',delimiter=' '):
for comma-separated values.
"""

warnings.warn("use numpy.savetxt", DeprecationWarning) # 2009/06/13
warnings.warn("use numpy.savetxt", mDeprecation) # 2009/06/13

if cbook.is_string_like(fname):
if fname.endswith('.gz'):
Expand Down Expand Up @@ -1426,7 +1428,7 @@ def load(fname,comments='#',delimiter=None, converters=None,skiprows=0,
Exercises many of these options.
"""

warnings.warn("use numpy.loadtxt", DeprecationWarning) # 2009/06/13
warnings.warn("use numpy.loadtxt", mDeprecation) # 2009/06/13

if converters is None: converters = {}
fh = cbook.to_filehandle(fname)
Expand Down
5 changes: 3 additions & 2 deletions lib/matplotlib/nxutils.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import warnings

from matplotlib import path
from matplotlib import MatplotlibDeprecationWarning as mDeprecation

def pnpoly(x, y, xyverts):
"""
Expand All @@ -19,7 +20,7 @@ def pnpoly(x, y, xyverts):
warnings.warn(
"nxutils is deprecated. Use matplotlib.path.Path.contains_point"
" instead.",
DeprecationWarning)
mDeprecation)

p = path.Path(xyverts)
return p.contains_point(x, y)
Expand All @@ -44,7 +45,7 @@ def points_inside_poly(xypoints, xyverts):
warnings.warn(
"nxutils is deprecated. Use matplotlib.path.Path.contains_points"
" instead.",
DeprecationWarning)
mDeprecation)

p = path.Path(xyverts)
return p.contains_points(xypoints)
Loading