Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

PEP8-compliance on axes.py (patch 1 / 4) #1464

Merged
merged 1 commit into from

2 participants

@NelleV
Collaborator

Here is the first patch on pep8 compliance of the axes.py module.

Cheers,
N

@pelson pelson commented on the diff
lib/matplotlib/axes.py
@@ -968,10 +976,6 @@ def cla(self):
self._shared_x_axes.clean()
self._shared_y_axes.clean()
- def get_frame(self):
- raise AttributeError('Axes.frame was removed in favor of Axes.spines')
@pelson Collaborator
pelson added a note

I agree with this change. Just want to point it out to others.

@NelleV Collaborator
NelleV added a note

For information, this method was defined twice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@pelson pelson commented on the diff
lib/matplotlib/axes.py
@@ -3226,6 +3236,7 @@ def dist(a):
artists = self.lines + self.patches + self.texts
if callable(among):
+ # FIXME test is not defined
@pelson Collaborator
pelson added a note

Would you mind opening a bug for this one?

@NelleV Collaborator
NelleV added a note

I've opened a ticket: #1465

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@pelson pelson commented on the diff
lib/matplotlib/axes.py
@@ -6089,9 +6092,6 @@ def scatter(self, x, y, s=20, c='b', marker='o', cmap=None, norm=None,
'''replace "faceted=False" with "edgecolors='none'"''',
DeprecationWarning) #2008/04/18
- sym = None
@pelson Collaborator
pelson added a note

Yep. This is good. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@pelson pelson commented on the diff
lib/matplotlib/axes.py
@@ -8825,7 +8822,6 @@ def get_tightbbox(self, renderer, call_axes_locator=True):
compared to the axes bbox.
"""
- artists = []
@pelson Collaborator
pelson added a note

cool.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@pelson
Collaborator

:+1:

@pelson pelson merged commit 3a9a782 into matplotlib:master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Nov 8, 2012
  1. @NelleV
This page is out of date. Refresh to see the latest.
Showing with 198 additions and 201 deletions.
  1. +198 −201 lib/matplotlib/axes.py
View
399 lib/matplotlib/axes.py
@@ -1,5 +1,6 @@
from __future__ import division, print_function
-import math, sys, warnings, datetime
+import math
+import warnings
from operator import itemgetter
import itertools
@@ -16,7 +17,7 @@
import matplotlib.collections as mcoll
import matplotlib.colors as mcolors
import matplotlib.contour as mcontour
-import matplotlib.dates as _ # <-registers a date unit converter
+import matplotlib.dates as _ # <-registers a date unit converter
from matplotlib import docstring
import matplotlib.font_manager as font_manager
import matplotlib.image as mimage
@@ -42,6 +43,7 @@
is_string_like = cbook.is_string_like
is_sequence_of_strings = cbook.is_sequence_of_strings
+
def _string_to_bool(s):
if not is_string_like(s):
return s
@@ -51,6 +53,7 @@ def _string_to_bool(s):
return False
raise ValueError("string argument must be either 'on' or 'off'")
+
def _process_plot_format(fmt):
"""
Process a MATLAB style color/line style format string. Return a
@@ -80,26 +83,26 @@ def _process_plot_format(fmt):
try:
fmtint = str(int(fmt))
except ValueError:
- return linestyle, marker, color # Yes
+ return linestyle, marker, color # Yes
else:
if fmt != fmtint:
# user definitely doesn't want tri_down marker
- return linestyle, marker, color # Yes
+ return linestyle, marker, color # Yes
else:
# ignore converted color
color = None
except ValueError:
- pass # No, not just a color.
+ pass # No, not just a color.
# handle the multi char special cases and strip them from the
# string
- if fmt.find('--')>=0:
+ if fmt.find('--') >= 0:
linestyle = '--'
fmt = fmt.replace('--', '')
- if fmt.find('-.')>=0:
+ if fmt.find('-.') >= 0:
linestyle = '-.'
fmt = fmt.replace('-.', '')
- if fmt.find(' ')>=0:
+ if fmt.find(' ') >= 0:
linestyle = 'None'
fmt = fmt.replace(' ', '')
@@ -134,6 +137,7 @@ def _process_plot_format(fmt):
return linestyle, marker, color
+
def set_default_color_cycle(clist):
"""
Change the default cycle of colors that will be used by the plot
@@ -187,36 +191,41 @@ def set_color_cycle(self, clist=None):
def __call__(self, *args, **kwargs):
if self.axes.xaxis is not None and self.axes.yaxis is not None:
- xunits = kwargs.pop( 'xunits', self.axes.xaxis.units)
+ xunits = kwargs.pop('xunits', self.axes.xaxis.units)
+
if self.axes.name == 'polar':
- xunits = kwargs.pop( 'thetaunits', xunits )
- yunits = kwargs.pop( 'yunits', self.axes.yaxis.units)
+ xunits = kwargs.pop('thetaunits', xunits)
+
+ yunits = kwargs.pop('yunits', self.axes.yaxis.units)
+
if self.axes.name == 'polar':
- yunits = kwargs.pop( 'runits', yunits )
- if xunits!=self.axes.xaxis.units:
+ yunits = kwargs.pop('runits', yunits)
+
+ if xunits != self.axes.xaxis.units:
self.axes.xaxis.set_units(xunits)
- if yunits!=self.axes.yaxis.units:
+
+ if yunits != self.axes.yaxis.units:
self.axes.yaxis.set_units(yunits)
- ret = self._grab_next_args(*args, **kwargs)
+ ret = self._grab_next_args(*args, **kwargs)
return ret
def set_lineprops(self, line, **kwargs):
assert self.command == 'plot', 'set_lineprops only works with "plot"'
for key, val in kwargs.items():
- funcName = "set_%s"%key
- if not hasattr(line,funcName):
- raise TypeError('There is no line property "%s"'%key)
- func = getattr(line,funcName)
+ funcName = "set_%s" % key
+ if not hasattr(line, funcName):
+ raise TypeError('There is no line property "%s"' % key)
+ func = getattr(line, funcName)
func(val)
def set_patchprops(self, fill_poly, **kwargs):
assert self.command == 'fill', 'set_patchprops only works with "fill"'
for key, val in kwargs.items():
- funcName = "set_%s"%key
- if not hasattr(fill_poly,funcName):
- raise TypeError('There is no patch property "%s"'%key)
- func = getattr(fill_poly,funcName)
+ funcName = "set_%s" % key
+ if not hasattr(fill_poly, funcName):
+ raise TypeError('There is no patch property "%s"' % key)
+ func = getattr(fill_poly, funcName)
func(val)
def _xy_from_xy(self, x, y):
@@ -224,7 +233,7 @@ def _xy_from_xy(self, x, y):
bx = self.axes.xaxis.update_units(x)
by = self.axes.yaxis.update_units(y)
- if self.command!='plot':
+ if self.command != 'plot':
# the Line2D class can handle unitized data, with
# support for post hoc unit changes etc. Other mpl
# artists, eg Polygon which _process_plot_var_args
@@ -242,7 +251,7 @@ def _xy_from_xy(self, x, y):
if by:
y = self.axes.convert_yunits(y)
- x = np.atleast_1d(x) #like asanyarray, but converts scalar to array
+ x = np.atleast_1d(x) # like asanyarray, but converts scalar to array
y = np.atleast_1d(y)
if x.shape[0] != y.shape[0]:
raise ValueError("x and y must have same first dimension")
@@ -250,13 +259,13 @@ def _xy_from_xy(self, x, y):
raise ValueError("x and y can be no greater than 2-D")
if x.ndim == 1:
- x = x[:,np.newaxis]
+ x = x[:, np.newaxis]
if y.ndim == 1:
- y = y[:,np.newaxis]
+ y = y[:, np.newaxis]
return x, y
def _makeline(self, x, y, kw, kwargs):
- kw = kw.copy() # Don't modify the original kw.
+ kw = kw.copy() # Don't modify the original kw.
if not 'color' in kw and not 'color' in kwargs.keys():
kw['color'] = self.color_cycle.next()
# (can't use setdefault because it always evaluates
@@ -274,15 +283,14 @@ def _makefill(self, x, y, kw, kwargs):
except KeyError:
facecolor = self.color_cycle.next()
seg = mpatches.Polygon(np.hstack(
- (x[:,np.newaxis],y[:,np.newaxis])),
- facecolor = facecolor,
+ (x[:, np.newaxis], y[:, np.newaxis])),
+ facecolor=facecolor,
fill=True,
closed=kw['closed']
)
self.set_patchprops(seg, **kwargs)
return seg
-
def _plot_args(self, tup, kwargs):
ret = []
if len(tup) > 1 and is_string_like(tup[-1]):
@@ -315,7 +323,7 @@ def _plot_args(self, tup, kwargs):
ncx, ncy = x.shape[1], y.shape[1]
for j in xrange(max(ncx, ncy)):
- seg = func(x[:,j%ncx], y[:,j%ncy], kw, kwargs)
+ seg = func(x[:, j % ncx], y[:, j % ncy], kw, kwargs)
ret.append(seg)
return ret
@@ -324,7 +332,7 @@ def _grab_next_args(self, *args, **kwargs):
remaining = args
while 1:
- if len(remaining)==0:
+ if len(remaining) == 0:
return
if len(remaining) <= 3:
for seg in self._plot_args(remaining, kwargs):
@@ -338,7 +346,7 @@ def _grab_next_args(self, *args, **kwargs):
for seg in self._plot_args(remaining[:isplit], kwargs):
yield seg
- remaining=remaining[isplit:]
+ remaining = remaining[isplit:]
class Axes(martist.Artist):
@@ -364,10 +372,10 @@ def __str__(self):
return "Axes(%g,%g;%gx%g)" % tuple(self._position.bounds)
def __init__(self, fig, rect,
- axisbg = None, # defaults to rc axes.facecolor
- frameon = True,
- sharex=None, # use Axes instance's xaxis info
- sharey=None, # use Axes instance's yaxis info
+ axisbg=None, # defaults to rc axes.facecolor
+ frameon=True,
+ sharex=None, # use Axes instance's xaxis info
+ sharey=None, # use Axes instance's yaxis info
label='',
xscale=None,
yscale=None,
@@ -423,7 +431,8 @@ def __init__(self, fig, rect,
*yticklabels* sequence of strings
*yticks* sequence of floats
================ =========================================
- """ % {'scale': ' | '.join([repr(x) for x in mscale.get_scale_names()])}
+ """ % {'scale': ' | '.join(
+ [repr(x) for x in mscale.get_scale_names()])}
martist.Artist.__init__(self)
if isinstance(rect, mtransforms.Bbox):
self._position = rect
@@ -460,7 +469,8 @@ def __init__(self, fig, rect,
# this call may differ for non-sep axes, eg polar
self._init_axis()
- if axisbg is None: axisbg = rcParams['axes.facecolor']
+ if axisbg is None:
+ axisbg = rcParams['axes.facecolor']
self._axisbg = axisbg
self._frameon = frameon
self._axisbelow = rcParams['axes.axisbelow']
@@ -468,26 +478,25 @@ def __init__(self, fig, rect,
self._rasterization_zorder = None
self._hold = rcParams['axes.hold']
- self._connected = {} # a dict from events to (id, func)
+ self._connected = {} # a dict from events to (id, func)
self.cla()
# funcs used to format x and y - fall back on major formatters
self.fmt_xdata = None
self.fmt_ydata = None
-
- self.set_cursor_props((1,'k')) # set the cursor properties for axes
+ self.set_cursor_props((1, 'k')) # set the cursor properties for axes
self._cachedRenderer = None
self.set_navigate(True)
self.set_navigate_mode(None)
-
if xscale:
self.set_xscale(xscale)
if yscale:
self.set_yscale(yscale)
- if len(kwargs): martist.setp(self, **kwargs)
+ if len(kwargs):
+ martist.setp(self, **kwargs)
if self.xaxis is not None:
self._xcid = self.xaxis.callbacks.connect('units finalize',
@@ -531,8 +540,9 @@ def set_figure(self, fig):
"""
martist.Artist.set_figure(self, fig)
- self.bbox = mtransforms.TransformedBbox(self._position, fig.transFigure)
- #these will be updated later as data is added
+ self.bbox = mtransforms.TransformedBbox(self._position,
+ fig.transFigure)
+ # these will be updated later as data is added
self.dataLim = mtransforms.Bbox.unit()
self.viewLim = mtransforms.Bbox.unit()
self.transScale = mtransforms.TransformWrapper(
@@ -580,7 +590,7 @@ def _set_lim_and_transforms(self):
self._yaxis_transform = mtransforms.blended_transform_factory(
self.transAxes, self.transData)
- def get_xaxis_transform(self,which='grid'):
+ def get_xaxis_transform(self, which='grid'):
"""
Get the transformation used for drawing x-axis labels, ticks
and gridlines. The x-direction is in data coordinates and the
@@ -594,12 +604,12 @@ def get_xaxis_transform(self,which='grid'):
place axis elements in different locations.
"""
- if which=='grid':
+ if which == 'grid':
return self._xaxis_transform
- elif which=='tick1':
+ elif which == 'tick1':
# for cartesian projection, this is bottom spine
return self.spines['bottom'].get_spine_transform()
- elif which=='tick2':
+ elif which == 'tick2':
# for cartesian projection, this is top spine
return self.spines['top'].get_spine_transform()
else:
@@ -657,7 +667,7 @@ def get_xaxis_text2_transform(self, pad_points):
self.figure.dpi_scale_trans),
"bottom", "center")
- def get_yaxis_transform(self,which='grid'):
+ def get_yaxis_transform(self, which='grid'):
"""
Get the transformation used for drawing y-axis labels, ticks
and gridlines. The x-direction is in axis coordinates and the
@@ -671,12 +681,12 @@ def get_yaxis_transform(self,which='grid'):
place axis elements in different locations.
"""
- if which=='grid':
+ if which == 'grid':
return self._yaxis_transform
- elif which=='tick1':
+ elif which == 'tick1':
# for cartesian projection, this is bottom spine
return self.spines['left'].get_spine_transform()
- elif which=='tick2':
+ elif which == 'tick2':
# for cartesian projection, this is top spine
return self.spines['right'].get_spine_transform()
else:
@@ -752,7 +762,6 @@ def get_position(self, original=False):
else:
return self._position.frozen()
-
def set_position(self, pos, which='both'):
"""
Set the axes position with::
@@ -795,7 +804,7 @@ def set_axes_locator(self, locator):
"""
set axes_locator
- ACCEPT : a callable object which takes an axes instance and renderer and
+ ACCEPT: a callable object which takes an axes instance and renderer and
returns a bbox.
"""
self._axes_locator = locator
@@ -845,10 +854,10 @@ def _gen_axes_spines(self, locations=None, offset=0.0, units='inches'):
"""
return {
- 'left':mspines.Spine.linear_spine(self,'left'),
- 'right':mspines.Spine.linear_spine(self,'right'),
- 'bottom':mspines.Spine.linear_spine(self,'bottom'),
- 'top':mspines.Spine.linear_spine(self,'top'),
+ 'left': mspines.Spine.linear_spine(self, 'left'),
+ 'right': mspines.Spine.linear_spine(self, 'right'),
+ 'bottom': mspines.Spine.linear_spine(self, 'bottom'),
+ 'top': mspines.Spine.linear_spine(self, 'top'),
}
def cla(self):
@@ -856,7 +865,7 @@ def cla(self):
# Note: this is called by Axes.__init__()
self.xaxis.cla()
self.yaxis.cla()
- for name,spine in self.spines.iteritems():
+ for name, spine in self.spines.iteritems():
spine.cla()
self.ignore_existing_data_limits = True
@@ -915,7 +924,7 @@ def cla(self):
self._xmargin = 0
self._ymargin = 0
self._tight = False
- self._update_transScale() # needed?
+ self._update_transScale() # needed?
self._get_lines = _process_plot_var_args(self)
self._get_patches_for_fill = _process_plot_var_args(self, 'fill')
@@ -927,18 +936,17 @@ def cla(self):
self.tables = []
self.artists = []
self.images = []
- self._current_image = None # strictly for pyplot via _sci, _gci
+ self._current_image = None # strictly for pyplot via _sci, _gci
self.legend_ = None
self.collections = [] # collection.Collection instances
- self.containers = [] #
+ self.containers = []
self.grid(self._gridOn)
props = font_manager.FontProperties(size=rcParams['axes.titlesize'])
-
self.titleOffsetTrans = mtransforms.ScaledTranslation(
0.0, 5.0 / 72.0, self.figure.dpi_scale_trans)
- self.title = mtext.Text(
+ self.title = mtext.Text(
x=0.5, y=1.0, text='',
fontproperties=props,
verticalalignment='baseline',
@@ -968,10 +976,6 @@ def cla(self):
self._shared_x_axes.clean()
self._shared_y_axes.clean()
- def get_frame(self):
- raise AttributeError('Axes.frame was removed in favor of Axes.spines')
@pelson Collaborator
pelson added a note

I agree with this change. Just want to point it out to others.

@NelleV Collaborator
NelleV added a note

For information, this method was defined twice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
- frame = property(get_frame)
-
def clear(self):
"""clear the axes"""
self.cla()
@@ -985,7 +989,6 @@ def set_color_cycle(self, clist):
self._get_lines.set_color_cycle(clist)
self._get_patches_for_fill.set_color_cycle(clist)
-
def ishold(self):
"""return the HOLD status of the axes"""
return self._hold
@@ -1010,7 +1013,6 @@ def hold(self, b=None):
# turn hold off
hold(False)
-
When hold is *True*, subsequent plot commands will be added to
the current axes. When hold is *False*, the current axes and
figure will be cleared on the next plot command
@@ -1071,7 +1073,7 @@ def set_aspect(self, aspect, adjustable=None, anchor=None):
elif aspect == 'equal':
self._aspect = 'equal'
else:
- self._aspect = float(aspect) # raise ValueError if necessary
+ self._aspect = float(aspect) # raise ValueError if necessary
if adjustable is not None:
self.set_adjustable(adjustable)
@@ -1120,7 +1122,7 @@ def set_anchor(self, anchor):
self._anchor = anchor
else:
raise ValueError('argument must be among %s' %
- ', '.join(mtransforms.Bbox.coefs.keys()))
+ ', '.join(mtransforms.Bbox.coefs.keys()))
def get_data_ratio(self):
"""
@@ -1129,28 +1131,26 @@ def get_data_ratio(self):
This method is intended to be overridden by new projection
types.
"""
- xmin,xmax = self.get_xbound()
- ymin,ymax = self.get_ybound()
-
- xsize = max(math.fabs(xmax-xmin), 1e-30)
- ysize = max(math.fabs(ymax-ymin), 1e-30)
+ xmin, xmax = self.get_xbound()
+ ymin, ymax = self.get_ybound()
- return ysize/xsize
+ xsize = max(math.fabs(xmax - xmin), 1e-30)
+ ysize = max(math.fabs(ymax - ymin), 1e-30)
+ return ysize / xsize
def get_data_ratio_log(self):
"""
Returns the aspect ratio of the raw data in log scale.
Will be used when both axis scales are in log.
"""
- xmin,xmax = self.get_xbound()
- ymin,ymax = self.get_ybound()
-
- xsize = max(math.fabs(math.log10(xmax)-math.log10(xmin)), 1e-30)
- ysize = max(math.fabs(math.log10(ymax)-math.log10(ymin)), 1e-30)
+ xmin, xmax = self.get_xbound()
+ ymin, ymax = self.get_ybound()
- return ysize/xsize
+ xsize = max(math.fabs(math.log10(xmax) - math.log10(xmin)), 1e-30)
+ ysize = max(math.fabs(math.log10(ymax) - math.log10(ymin)), 1e-30)
+ return ysize / xsize
def apply_aspect(self, position=None):
"""
@@ -1160,7 +1160,6 @@ def apply_aspect(self, position=None):
if position is None:
position = self.get_position(original=True)
-
aspect = self.get_aspect()
if self.name != 'polar':
@@ -1169,20 +1168,20 @@ def apply_aspect(self, position=None):
aspect_scale_mode = "linear"
elif xscale == "log" and yscale == "log":
aspect_scale_mode = "log"
- elif (xscale == "linear" and yscale == "log") or \
- (xscale == "log" and yscale == "linear"):
+ elif ((xscale == "linear" and yscale == "log") or
+ (xscale == "log" and yscale == "linear")):
if aspect is not "auto":
warnings.warn(
- 'aspect is not supported for Axes with xscale=%s, yscale=%s' \
- % (xscale, yscale))
+ 'aspect is not supported for Axes with xscale=%s, '
+ 'yscale=%s' % (xscale, yscale))
aspect = "auto"
- else: # some custom projections have their own scales.
+ else: # some custom projections have their own scales.
pass
else:
aspect_scale_mode = "linear"
if aspect == 'auto':
- self.set_position( position , which='active')
+ self.set_position(position, which='active')
return
if aspect == 'equal':
@@ -1198,8 +1197,8 @@ def apply_aspect(self, position=None):
warnings.warn(
'shared axes: "adjustable" is being changed to "datalim"')
- figW,figH = self.get_figure().get_size_inches()
- fig_aspect = figH/figW
+ figW, figH = self.get_figure().get_size_inches()
+ fig_aspect = figH / figW
if self._adjustable in ['box', 'box-forced']:
if aspect_scale_mode == "log":
box_aspect = A * self.get_data_ratio_log()
@@ -1214,23 +1213,21 @@ def apply_aspect(self, position=None):
# by prior use of 'box'
self.set_position(position, which='active')
-
- xmin,xmax = self.get_xbound()
- ymin,ymax = self.get_ybound()
+ xmin, xmax = self.get_xbound()
+ ymin, ymax = self.get_ybound()
if aspect_scale_mode == "log":
xmin, xmax = math.log10(xmin), math.log10(xmax)
ymin, ymax = math.log10(ymin), math.log10(ymax)
- xsize = max(math.fabs(xmax-xmin), 1e-30)
- ysize = max(math.fabs(ymax-ymin), 1e-30)
-
+ xsize = max(math.fabs(xmax - xmin), 1e-30)
+ ysize = max(math.fabs(ymax - ymin), 1e-30)
- l,b,w,h = position.bounds
- box_aspect = fig_aspect * (h/w)
+ l, b, w, h = position.bounds
+ box_aspect = fig_aspect * (h / w)
data_ratio = box_aspect / A
- y_expander = (data_ratio*xsize/ysize - 1.0)
+ y_expander = (data_ratio * xsize / ysize - 1.0)
#print 'y_expander', y_expander
# If y_expander > 0, the dy/dx viewLim ratio needs to increase
if abs(y_expander) < 0.005:
@@ -1254,7 +1251,8 @@ def apply_aspect(self, position=None):
Xsize = ysize / data_ratio
Xmarg = Xsize - xr
Ymarg = Ysize - yr
- xm = 0 # Setting these targets to, e.g., 0.05*xr does not seem to help.
+ xm = 0 # Setting these targets to, e.g., 0.05*xr does not seem to
+ # help.
ym = 0
#print 'xmin, xmax, ymin, ymax', xmin, xmax, ymin, ymax
#print 'xsize, Xsize, ysize, Ysize', xsize, Xsize, ysize, Ysize
@@ -1277,23 +1275,23 @@ def apply_aspect(self, position=None):
else:
adjy = y_expander > 0
#print 'y_expander, adjy', y_expander, adjy
- adjust_y = changey or adjy #(Ymarg > xmarg)
+ adjust_y = changey or adjy # (Ymarg > xmarg)
if adjust_y:
- yc = 0.5*(ymin+ymax)
- y0 = yc - Ysize/2.0
- y1 = yc + Ysize/2.0
+ yc = 0.5 * (ymin + ymax)
+ y0 = yc - Ysize / 2.0
+ y1 = yc + Ysize / 2.0
if aspect_scale_mode == "log":
- self.set_ybound((10.**y0, 10.**y1))
+ self.set_ybound((10. ** y0, 10. ** y1))
else:
self.set_ybound((y0, y1))
#print 'New y0, y1:', y0, y1
#print 'New ysize, ysize/xsize', y1-y0, (y1-y0)/xsize
else:
- xc = 0.5*(xmin+xmax)
- x0 = xc - Xsize/2.0
- x1 = xc + Xsize/2.0
+ xc = 0.5 * (xmin + xmax)
+ x0 = xc - Xsize / 2.0
+ x1 = xc + Xsize / 2.0
if aspect_scale_mode == "log":
- self.set_xbound((10.**x0, 10.**x1))
+ self.set_xbound((10. ** x0, 10. ** x1))
else:
self.set_xbound((x0, x1))
#print 'New x0, x1:', x0, x1
@@ -1313,21 +1311,23 @@ def axis(self, *v, **kwargs):
ymin, ymax = self.get_ylim()
return xmin, xmax, ymin, ymax
- if len(v)==1 and is_string_like(v[0]):
+ if len(v) == 1 and is_string_like(v[0]):
s = v[0].lower()
- if s=='on': self.set_axis_on()
- elif s=='off': self.set_axis_off()
+ if s == 'on':
+ self.set_axis_on()
+ elif s == 'off':
+ self.set_axis_off()
elif s in ('equal', 'tight', 'scaled', 'normal', 'auto', 'image'):
self.set_autoscale_on(True)
self.set_aspect('auto')
self.autoscale_view(tight=False)
# self.apply_aspect()
- if s=='equal':
+ if s == 'equal':
self.set_aspect('equal', adjustable='datalim')
elif s == 'scaled':
self.set_aspect('equal', adjustable='box', anchor='C')
- self.set_autoscale_on(False) # Req. by Mark Bakker
- elif s=='tight':
+ self.set_autoscale_on(False) # Req. by Mark Bakker
+ elif s == 'tight':
self.autoscale_view(tight=True)
self.set_autoscale_on(False)
elif s == 'image':
@@ -1348,16 +1348,16 @@ def axis(self, *v, **kwargs):
except IndexError:
xmin = kwargs.get('xmin', None)
xmax = kwargs.get('xmax', None)
- auto = False # turn off autoscaling, unless...
+ auto = False # turn off autoscaling, unless...
if xmin is None and xmax is None:
- auto = None # leave autoscaling state alone
+ auto = None # leave autoscaling state alone
xmin, xmax = self.set_xlim(xmin, xmax, emit=emit, auto=auto)
ymin = kwargs.get('ymin', None)
ymax = kwargs.get('ymax', None)
- auto = False # turn off autoscaling, unless...
+ auto = False # turn off autoscaling, unless...
if ymin is None and ymax is None:
- auto = None # leave autoscaling state alone
+ auto = None # leave autoscaling state alone
ymin, ymax = self.set_ylim(ymin, ymax, emit=emit, auto=auto)
return xmin, xmax, ymin, ymax
@@ -1384,7 +1384,9 @@ def get_frame(self):
return self.patch
def get_legend(self):
- """Return the legend.Legend instance, or None if no legend is defined"""
+ """
+ Return the legend.Legend instance, or None if no legend is defined
+ """
return self.legend_
def get_images(self):
@@ -1401,13 +1403,13 @@ def get_xaxis(self):
def get_xgridlines(self):
"""Get the x grid lines as a list of Line2D instances"""
- return cbook.silent_list('Line2D xgridline', self.xaxis.get_gridlines())
-
+ return cbook.silent_list('Line2D xgridline',
+ self.xaxis.get_gridlines())
def get_xticklines(self):
"""Get the xtick lines as a list of Line2D instances"""
- return cbook.silent_list('Text xtickline', self.xaxis.get_ticklines())
-
+ return cbook.silent_list('Text xtickline',
+ self.xaxis.get_ticklines())
def get_yaxis(self):
"""Return the YAxis instance"""
@@ -1415,11 +1417,13 @@ def get_yaxis(self):
def get_ygridlines(self):
"""Get the y grid lines as a list of Line2D instances"""
- return cbook.silent_list('Line2D ygridline', self.yaxis.get_gridlines())
+ return cbook.silent_list('Line2D ygridline',
+ self.yaxis.get_gridlines())
def get_yticklines(self):
"""Get the ytick lines as a list of Line2D instances"""
- return cbook.silent_list('Line2D ytickline', self.yaxis.get_ticklines())
+ return cbook.silent_list('Line2D ytickline',
+ self.yaxis.get_ticklines())
#### Adding and tracking artists
@@ -1434,7 +1438,8 @@ def _sci(self, im):
"ContourSet must be in current Axes")
elif im not in self.images and im not in self.collections:
raise ValueError(
- "Argument must be an image, collection, or ContourSet in this Axes")
+ "Argument must be an image, collection, or ContourSet in "
+ "this Axes")
self._current_image = im
def _gci(self):
@@ -1456,7 +1461,7 @@ def has_data(self):
len(self.collections) +
len(self.images) +
len(self.lines) +
- len(self.patches))>0
+ len(self.patches)) > 0
def add_artist(self, a):
"""
@@ -1480,7 +1485,7 @@ def add_collection(self, collection, autolim=True):
"""
label = collection.get_label()
if not label:
- collection.set_label('_collection%d'%len(self.collections))
+ collection.set_label('_collection%d' % len(self.collections))
self.collections.append(collection)
self._set_artist_props(collection)
@@ -1512,7 +1517,9 @@ def add_line(self, line):
return line
def _update_line_limits(self, line):
- """Figures out the data limit of the given line, updating self.dataLim."""
+ """
+ Figures out the data limit of the given line, updating self.dataLim.
+ """
path = line.get_path()
if path.vertices.size == 0:
return
@@ -1596,7 +1603,6 @@ def _update_patch_limits(self, patch):
self.update_datalim(xys, updatex=updatex,
updatey=updatey)
-
def add_table(self, tab):
"""
Add a :class:`~matplotlib.tables.Table` instance to the
@@ -1619,12 +1625,11 @@ def add_container(self, container):
"""
label = container.get_label()
if not label:
- container.set_label('_container%d'%len(self.containers))
+ container.set_label('_container%d' % len(self.containers))
self.containers.append(container)
container.set_remove_method(lambda h: self.containers.remove(h))
return container
-
def relim(self):
"""
Recompute the data limits based on current artists.
@@ -1643,13 +1648,16 @@ def relim(self):
self._update_patch_limits(p)
def update_datalim(self, xys, updatex=True, updatey=True):
- """Update the data lim bbox with seq of xy tups or equiv. 2-D array"""
+ """
+ Update the data lim bbox with seq of xy tups or equiv. 2-D array
+ """
# if no data is set currently, the bbox will ignore its
# limits and set the bound to be the bounds of the xydata.
# Otherwise, it will compute the bounds of it's current data
# and the data in xydata
- if iterable(xys) and not len(xys): return
+ if iterable(xys) and not len(xys):
+ return
if not ma.isMaskedArray(xys):
xys = np.asarray(xys)
self.dataLim.update_from_data_xy(xys, self.ignore_existing_data_limits,
@@ -1657,12 +1665,15 @@ def update_datalim(self, xys, updatex=True, updatey=True):
self.ignore_existing_data_limits = False
def update_datalim_numerix(self, x, y):
- """Update the data lim bbox with seq of xy tups"""
+ """
+ Update the data lim bbox with seq of xy tups
+ """
# if no data is set currently, the bbox will ignore it's
# limits and set the bound to be the bounds of the xydata.
# Otherwise, it will compute the bounds of it's current data
# and the data in xydata
- if iterable(x) and not len(x): return
+ if iterable(x) and not len(x):
+ return
self.dataLim.update_from_data(x, y, self.ignore_existing_data_limits)
self.ignore_existing_data_limits = False
@@ -1676,7 +1687,8 @@ def update_datalim_bounds(self, bounds):
def _process_unit_info(self, xdata=None, ydata=None, kwargs=None):
"""Look for unit *kwargs* and update the axis instances as necessary"""
- if self.xaxis is None or self.yaxis is None: return
+ if self.xaxis is None or self.yaxis is None:
+ return
#print 'processing', self.get_geometry()
if xdata is not None:
@@ -1693,10 +1705,10 @@ def _process_unit_info(self, xdata=None, ydata=None, kwargs=None):
# process kwargs 2nd since these will override default units
if kwargs is not None:
- xunits = kwargs.pop( 'xunits', self.xaxis.units)
+ xunits = kwargs.pop('xunits', self.xaxis.units)
if self.name == 'polar':
- xunits = kwargs.pop( 'thetaunits', xunits )
- if xunits!=self.xaxis.units:
+ xunits = kwargs.pop('thetaunits', xunits)
+ if xunits != self.xaxis.units:
#print '\tkw setting xunits', xunits
self.xaxis.set_units(xunits)
# If the units being set imply a different converter,
@@ -1706,8 +1718,8 @@ def _process_unit_info(self, xdata=None, ydata=None, kwargs=None):
yunits = kwargs.pop('yunits', self.yaxis.units)
if self.name == 'polar':
- yunits = kwargs.pop( 'runits', yunits )
- if yunits!=self.yaxis.units:
+ yunits = kwargs.pop('runits', yunits)
+ if yunits != self.yaxis.units:
#print '\tkw setting yunits', yunits
self.yaxis.set_units(yunits)
# If the units being set imply a different converter,
@@ -1791,7 +1803,6 @@ def set_ymargin(self, m):
raise ValueError("margin must be in range 0 to 1")
self._ymargin = m
-
def margins(self, *args, **kw):
"""
Set or retrieve autoscaling margins.
@@ -1849,7 +1860,6 @@ def margins(self, *args, **kw):
self.autoscale_view(tight=tight, scalex=scalex, scaley=scaley)
-
def set_rasterization_zorder(self, z):
"""
Set zorder value below which artists will be rasterized. Set
@@ -1905,7 +1915,6 @@ def autoscale(self, enable=True, axis='both', tight=None):
scaley = self._autoscaleYon
self.autoscale_view(tight=tight, scalex=scalex, scaley=scaley)
-
def autoscale_view(self, tight=None, scalex=True, scaley=True):
"""
Autoscale the view limits using the data limits. You can
@@ -1913,17 +1922,16 @@ def autoscale_view(self, tight=None, scalex=True, scaley=True):
setting *scaley* to *False*. The autoscaling preserves any
axis direction reversal that has already been done.
- The data limits are not updated automatically when artist
- data are changed after the artist has been added to an
- Axes instance. In that case, use
- :meth:`matplotlib.axes.Axes.relim`
- prior to calling autoscale_view.
+ The data limits are not updated automatically when artist data are
+ changed after the artist has been added to an Axes instance. In that
+ case, use :meth:`matplotlib.axes.Axes.relim` prior to calling
+ autoscale_view.
"""
if tight is None:
# if image data only just use the datalim
- _tight = self._tight or (len(self.images)>0 and
- len(self.lines)==0 and
- len(self.patches)==0)
+ _tight = self._tight or (len(self.images) > 0 and
+ len(self.lines) == 0 and
+ len(self.patches) == 0)
else:
_tight = self._tight = bool(tight)
@@ -1977,7 +1985,8 @@ def draw(self, renderer=None, inframe=False):
if renderer is None:
raise RuntimeError('No renderer defined')
- if not self.get_visible(): return
+ if not self.get_visible():
+ return
renderer.open_group('axes')
locator = self.get_axes_locator()
@@ -1987,7 +1996,6 @@ def draw(self, renderer=None, inframe=False):
else:
self.apply_aspect()
-
artists = []
artists.extend(self.collections)
@@ -2003,7 +2011,8 @@ def draw(self, renderer=None, inframe=False):
self.xaxis.set_zorder(2.5)
self.yaxis.set_zorder(2.5)
artists.extend([self.xaxis, self.yaxis])
- if not inframe: artists.append(self.title)
+ if not inframe:
+ artists.append(self.title)
artists.extend(self.tables)
if self.legend_ is not None:
artists.append(self.legend_)
@@ -2014,18 +2023,17 @@ def draw(self, renderer=None, inframe=False):
if self.axison and self._frameon:
artists.extend(self.spines.itervalues())
- dsu = [ (a.zorder, a) for a in artists
- if not a.get_animated() ]
+ dsu = [(a.zorder, a) for a in artists
+ if not a.get_animated()]
# add images to dsu if the backend support compositing.
# otherwise, does the manaul compositing without adding images to dsu.
- if len(self.images)<=1 or renderer.option_image_nocomposite():
+ if len(self.images) <= 1 or renderer.option_image_nocomposite():
dsu.extend([(im.zorder, im) for im in self.images])
_do_composite = False
else:
_do_composite = True
-
dsu.sort(key=itemgetter(0))
# rasterize artists with negative zorder
@@ -2048,17 +2056,16 @@ def draw(self, renderer=None, inframe=False):
# make a composite image blending alpha
# list of (mimage.Image, ox, oy)
- zorder_images = [(im.zorder, im) for im in self.images \
+ zorder_images = [(im.zorder, im) for im in self.images
if im.get_visible()]
zorder_images.sort(key=lambda x: x[0])
mag = renderer.get_image_magnification()
- ims = [(im.make_image(mag),0,0) for z,im in zorder_images]
-
+ ims = [(im.make_image(mag), 0, 0) for z, im in zorder_images]
l, b, r, t = self.bbox.extents
- width = mag*((round(r) + 0.5) - (round(l) - 0.5))
- height = mag*((round(t) + 0.5) - (round(b) - 0.5))
+ width = mag * ((round(r) + 0.5) - (round(l) - 0.5))
+ height = mag * ((round(t) + 0.5) - (round(b) - 0.5))
im = mimage.from_images(height,
width,
ims)
@@ -2144,7 +2151,8 @@ def get_axisbelow(self):
def set_axisbelow(self, b):
"""
- Set whether the axis ticks and gridlines are above or below most artists
+ Set whether the axis ticks and gridlines are above or below most
+ artists
ACCEPTS: [ *True* | *False* ]
"""
@@ -2186,9 +2194,9 @@ def grid(self, b=None, which='major', axis='both', **kwargs):
b = _string_to_bool(b)
if axis == 'x' or axis == 'both':
- self.xaxis.grid(b, which=which, **kwargs)
+ self.xaxis.grid(b, which=which, **kwargs)
if axis == 'y' or axis == 'both':
- self.yaxis.grid(b, which=which, **kwargs)
+ self.yaxis.grid(b, which=which, **kwargs)
def ticklabel_format(self, **kwargs):
"""
@@ -2237,7 +2245,7 @@ def ticklabel_format(self, **kwargs):
if scilimits is not None:
try:
m, n = scilimits
- m+n+1 # check that both are numbers
+ m + n + 1 # check that both are numbers
except (ValueError, TypeError):
raise ValueError("scilimits must be a sequence of 2 integers")
if style[:3] == 'sci':
@@ -2448,12 +2456,14 @@ def set_xbound(self, lower=None, upper=None):
It will not change the _autoscaleXon attribute.
"""
if upper is None and iterable(lower):
- lower,upper = lower
+ lower, upper = lower
- old_lower,old_upper = self.get_xbound()
+ old_lower, old_upper = self.get_xbound()
- if lower is None: lower = old_lower
- if upper is None: upper = old_upper
+ if lower is None:
+ lower = old_lower
+ if upper is None:
+ upper = old_upper
if self.xaxis_inverted():
if lower < upper:
@@ -3226,6 +3236,7 @@ def dist(a):
artists = self.lines + self.patches + self.texts
if callable(among):
+ # FIXME test is not defined
@pelson Collaborator
pelson added a note

Would you mind opening a bug for this one?

@NelleV Collaborator
NelleV added a note

I've opened a ticket: #1465

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
artists = filter(test, artists)
elif iterable(among):
amongd = dict([(k,1) for k in among])
@@ -3690,7 +3701,6 @@ def axvspan(self, xmin, xmax, ymin=0, ymax=1, **kwargs):
self.autoscale_view(scaley=False)
return p
-
@docstring.dedent
def hlines(self, y, xmin, xmax, colors='k', linestyles='solid',
label='', **kwargs):
@@ -4071,7 +4081,6 @@ def plot_date(self, x, y, fmt='bo', tz=None, xdate=True, ydate=False,
return ret
-
@docstring.dedent_interpd
def loglog(self, *args, **kwargs):
"""
@@ -4385,7 +4394,6 @@ def xcorr(self, x, y, normed=True, detrend=mlab.detrend_none,
b = None
return lags, c, a, b
-
def _get_legend_handles(self, legend_handler_map=None):
"return artists that will be used as handles for legend"
handles_original = self.lines + self.patches + \
@@ -4407,7 +4415,6 @@ def _get_legend_handles(self, legend_handler_map=None):
return handles
-
def get_legend_handles_labels(self, legend_handler_map=None):
"""
Return handles and labels for legend
@@ -4430,7 +4437,6 @@ def get_legend_handles_labels(self, legend_handler_map=None):
return handles, labels
-
def legend(self, *args, **kwargs):
"""
Place a legend on the current axes.
@@ -4670,7 +4676,6 @@ def step(self, x, y, *args, **kwargs):
return self.plot(x, y, *args, **kwargs)
-
@docstring.dedent_interpd
def bar(self, left, height, width=0.8, bottom=None, **kwargs):
"""
@@ -5121,7 +5126,6 @@ def stem(self, x, y, linefmt='b-', markerfmt='bo', basefmt='r-',
return stem_container
-
def pie(self, x, explode=None, labels=None, colors=None,
autopct=None, pctdistance=0.6, shadow=False,
labeldistance=1.1, startangle=None, radius=None):
@@ -5792,7 +5796,6 @@ def computeConfInterval(data, med, iq, bootstrap):
if ci is not None and len(ci) != 2:
raise ValueError(msg3)
-
# get some plot info
if positions is None:
positions = range(1, col + 1)
@@ -6089,9 +6092,6 @@ def scatter(self, x, y, s=20, c='b', marker='o', cmap=None, norm=None,
'''replace "faceted=False" with "edgecolors='none'"''',
DeprecationWarning) #2008/04/18
- sym = None
@pelson Collaborator
pelson added a note

Yep. This is good. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
- symstyle = 0
-
# to be API compatible
if marker is None and not (verts is None):
marker = (verts, 0)
@@ -7764,7 +7764,6 @@ def _make_twin_axes(self, *kl, **kwargs):
ax2 = self.figure.add_axes(self.get_position(True), *kl, **kwargs)
return ax2
-
def twinx(self):
"""
Call signature::
@@ -8258,7 +8257,6 @@ def hist(self, x, bins=10, range=None, normed=False, weights=None,
else:
return n, bins, cbook.silent_list('Lists of Patches', patches)
-
@docstring.dedent_interpd
def hist2d(self, x, y, bins = 10, range=None, normed=False, weights=None,
cmin=None, cmax=None, **kwargs):
@@ -8812,7 +8810,6 @@ def get_default_bbox_extra_artists(self):
bbox_extra_artists.append(t)
return bbox_extra_artists
-
def get_tightbbox(self, renderer, call_axes_locator=True):
"""
Return the tight bounding box of the axes.
@@ -8825,7 +8822,6 @@ def get_tightbbox(self, renderer, call_axes_locator=True):
compared to the axes bbox.
"""
- artists = []
@pelson Collaborator
pelson added a note

cool.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
bb = []
if not self.get_visible():
@@ -8844,12 +8840,15 @@ def get_tightbbox(self, renderer, call_axes_locator=True):
bb.append(self.title.get_window_extent(renderer))
bb_xaxis = self.xaxis.get_tightbbox(renderer)
- if bb_xaxis: bb.append(bb_xaxis)
+ if bb_xaxis:
+ bb.append(bb_xaxis)
bb_yaxis = self.yaxis.get_tightbbox(renderer)
- if bb_yaxis: bb.append(bb_yaxis)
+ if bb_yaxis:
+ bb.append(bb_yaxis)
- _bbox = mtransforms.Bbox.union([b for b in bb if b.width!=0 or b.height!=0])
+ _bbox = mtransforms.Bbox.union(
+ [b for b in bb if b.width!=0 or b.height!=0])
return _bbox
@@ -8886,6 +8885,7 @@ def triplot(self, *args, **kwargs):
from matplotlib.gridspec import GridSpec, SubplotSpec
+
class SubplotBase:
"""
Base class for subplots, which are :class:`Axes` instances with
@@ -8977,7 +8977,6 @@ def update_params(self):
self.get_subplotspec().get_position(self.figure,
return_all=True)
-
def is_first_col(self):
return self.colNum==0
@@ -8987,7 +8986,6 @@ def is_first_row(self):
def is_last_row(self):
return self.rowNum==self.numRows-1
-
def is_last_col(self):
return self.colNum==self.numCols-1
@@ -9006,7 +9004,6 @@ def label_outer(self):
for label in self.get_yticklabels():
label.set_visible(firstcol)
-
def _make_twin_axes(self, *kl, **kwargs):
"""
make a twinx axes of self. This is used for twinx and twiny.
Something went wrong with that request. Please try again.