'*basex*/*basey*:
The base of the logarithm
*linthreshx*/*linthreshy*:
The range (-*x*, *x*) within which the plot is linear (to
avoid having the plot go to infinity around zero).
*subsx*/*subsy*:
Where to place the subticks between each major tick.
Should be a sequence of integers.  For example, in a log10
scale: ``[2, 3, 4, 5, 6, 7, 8, 9]``
will place 8 logarithmically spaced minor ticks between
each major tick.
*linscalex*/*linscaley*:
This allows the linear range (-*linthresh* to *linthresh*)
to be stretched relative to the logarithmic range.  Its
value is the number of decades to use for each half of the
linear range.  For example, when *linscale* == 1.0 (the
default), the space used for the positive and negative
halves of the linear range will be equal to one decade in
the logarithmic range.'

def __init__(self, axis, **kwargs):

    if (axis.axis_name == u'x'):
        base = kwargs.pop(u'basex', 10.0)
        linthresh = kwargs.pop(u'linthreshx', 2.0)
        subs = kwargs.pop(u'subsx', None)
        linscale = kwargs.pop(u'linscalex', 1.0)
    else:
        base = kwargs.pop(u'basey', 10.0)
        linthresh = kwargs.pop(u'linthreshy', 2.0)
        subs = kwargs.pop(u'subsy', None)
        linscale = kwargs.pop(u'linscaley', 1.0)
    if (base <= 1.0):
        raise ValueError(u"'basex/basey'    must    be    larger    than    1")
    if (linthresh <= 0.0):
        raise ValueError(u"'linthreshx/linthreshy'    must    be    positive")
    if (linscale <= 0.0):
        raise ValueError(u"'linscalex/linthreshy'    must    be    positive")
    self._transform = self.SymmetricalLogTransform(base, linthresh, linscale)
    self.base = base
    self.linthresh = linthresh
    self.linscale = linscale
    self.subs = subs
