'Set the lower and upper numerical bounds of the z-axis.
This method will honor axes inversion regardless of parameter order.
It will not change the :attr:`_autoscaleZon` attribute.
.. versionadded :: 1.1.0
This function was added, but not tested. Please report any bugs.'

def set_zbound(self, lower=None, upper=None):

    if ((upper is None) and cbook.iterable(lower)):
        (lower, upper) = lower
    (old_lower, old_upper) = self.get_zbound()
    if (lower is None):
        lower = old_lower
    if (upper is None):
        upper = old_upper
    if self.zaxis_inverted():
        if (lower < upper):
            self.set_zlim(upper, lower, auto=None)
        else:
            self.set_zlim(lower, upper, auto=None)
    elif (lower < upper):
        self.set_zlim(lower, upper, auto=None)
    else:
        self.set_zlim(upper, lower, auto=None)
