'Call signature::
subplots_adjust(left=None, bottom=None, right=None, top=None,
wspace=None, hspace=None)
Update the :class:`SubplotParams` with *kwargs* (defaulting to rc when
*None*) and update the subplot locations'

def subplots_adjust(self, *args, **kwargs):

    self.subplotpars.update(*args, **kwargs)
    for ax in self.axes:
        if (not isinstance(ax, SubplotBase)):
            if ((ax._sharex is not None) and isinstance(ax._sharex, SubplotBase)):
                ax._sharex.update_params()
                ax.set_position(ax._sharex.figbox)
            elif ((ax._sharey is not None) and isinstance(ax._sharey, SubplotBase)):
                ax._sharey.update_params()
                ax.set_position(ax._sharey.figbox)
        else:
            ax.update_params()
            ax.set_position(ax.figbox)
    self.stale = True
