'*basex*/*basey*:
The base of the logarithm
*nonposx*/*nonposy*: [\'mask\' | \'clip\' ]
non-positive values in *x* or *y* can be masked as
invalid, or clipped to a very small positive number
*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.'

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

    if (axis.axis_name == u'x'):
        base = kwargs.pop(u'basex', 10.0)
        subs = kwargs.pop(u'subsx', None)
        nonpos = kwargs.pop(u'nonposx', u'mask')
    else:
        base = kwargs.pop(u'basey', 10.0)
        subs = kwargs.pop(u'subsy', None)
        nonpos = kwargs.pop(u'nonposy', u'mask')
    if (nonpos not in [u'mask', u'clip']):
        raise ValueError(u"nonposx,    nonposy    kwarg    must    be    'mask'    or    'clip'")
    if (base == 10.0):
        self._transform = self.Log10Transform(nonpos)
    elif (base == 2.0):
        self._transform = self.Log2Transform(nonpos)
    elif (base == np.e):
        self._transform = self.NaturalLogTransform(nonpos)
    else:
        self._transform = self.LogTransform(base, nonpos)
    self.base = base
    self.subs = subs
