'Convenience method for changing the appearance of ticks and
tick labels.
See :meth:`matplotlib.axes.Axes.tick_params` for more complete
documentation.
The only difference is that setting *axis* to \'both\' will
mean that the settings are applied to all three axes. Also,
the *axis* parameter also accepts a value of \'z\', which
would mean to apply to only the z-axis.
Also, because of how Axes3D objects are drawn very differently
from regular 2D axes, some of these settings may have
ambiguous meaning.  For simplicity, the \'z\' axis will
accept settings as if it was like the \'y\' axis.
.. note::
While this function is currently implemented, the core part
of the Axes3D object may ignore some of these settings.
Future releases will fix this. Priority will be given to
those who file bugs.
.. versionadded :: 1.1.0
This function was added, but not tested. Please report any bugs.'

def tick_params(self, axis=u'both', **kwargs):

    super(Axes3D, self).tick_params(axis, **kwargs)
    if (axis in [u'z', u'both']):
        zkw = dict(kwargs)
        zkw.pop(u'top', None)
        zkw.pop(u'bottom', None)
        zkw.pop(u'labeltop', None)
        zkw.pop(u'labelbottom', None)
        self.zaxis.set_tick_params(**zkw)
