# Path: matplotlib/cbook.py
# def iterable(obj):
#     'return true if *obj* is iterable'
#     try:
#         iter(obj)
#     except TypeError:
#         return False
#     return True
# 
# def is_numlike(obj):
#     'return true if *obj* looks like a number'
#     try:
#         obj + 1
#     except:
#         return False
#     else:
#         return True


from matplotlib.cbook import iterable, is_numlike
import numpy as np
    @staticmethod
    def axisinfo(unit, axis):
        'return an units.AxisInfo instance for axis with the specified units'
        return None

    @staticmethod
    def default_units(x, axis):
        'return the default unit for x or None for the given axis'
        return None

    @staticmethod
    def convert(obj, unit, axis):
        """
        convert obj using unit for the specified axis.  If obj is a sequence,
        return the converted sequence.  The ouput must be a sequence of scalars
        that can be used by the numpy array layer
        """
        return obj

    @staticmethod
    def is_numlike(x):
        """
        The matplotlib datalim, autoscaling, locators etc work with
        scalars which are the units converted to floats given the
        current unit.  The converter may be passed these floats, or
        arrays of them, even when units are set.  Derived conversion
        interfaces may opt to pass plain-ol unitless numbers through
        the conversion interface and this is a helper function for
        them.
        """

# Path: matplotlib/cbook.py
# def iterable(obj):
#     'return true if *obj* is iterable'
#     try:
#         iter(obj)
#     except TypeError:
#         return False
#     return True
# 
# def is_numlike(obj):
#     'return true if *obj* looks like a number'
#     try:
#         obj + 1
#     except:
#         return False
#     else:
#         return True


# Path: matplotlib/units.py
from matplotlib.cbook import iterable, is_numlike
import numpy as np

    @staticmethod
    def axisinfo(unit, axis):
        'return an units.AxisInfo instance for axis with the specified units'
        return None

    @staticmethod
    def default_units(x, axis):
        'return the default unit for x or None for the given axis'
        return None

    @staticmethod
    def convert(obj, unit, axis):
        """
        convert obj using unit for the specified axis.  If obj is a sequence,
        return the converted sequence.  The ouput must be a sequence of scalars
        that can be used by the numpy array layer
        """
        return obj

    @staticmethod
    def is_numlike(x):
        """
        The matplotlib datalim, autoscaling, locators etc work with
        scalars which are the units converted to floats given the
        current unit.  The converter may be passed these floats, or
        arrays of them, even when units are set.  Derived conversion
        interfaces may opt to pass plain-ol unitless numbers through
        the conversion interface and this is a helper function for
        them.
        """

        if iterable(x):