'Set a title for the axes.
Set one of the three available axes titles. The available titles
are positioned above the axes in the center, flush with the left
edge, and flush with the right edge.
Parameters
label : str
Text to use for the title
fontdict : dict
A dictionary controlling the appearance of the title text,
the default `fontdict` is::
{\'fontsize\': rcParams[\'axes.titlesize\'],
\'fontweight\' : rcParams[\'axes.titleweight\'],
\'verticalalignment\': \'baseline\',
\'horizontalalignment\': loc}
loc : {\'center\', \'left\', \'right\'}, str, optional
Which title to set, defaults to \'center\'
Returns
text : :class:`~matplotlib.text.Text`
The matplotlib text instance representing the title
Other Parameters
**kwargs : `~matplotlib.text.Text` properties
Other keyword arguments are text properties, see
:class:`~matplotlib.text.Text` for a list of valid text
properties.'

def set_title(self, label, fontdict=None, loc=u'center', **kwargs):

    try:
        title = {u'left': self._left_title, u'center': self.title, u'right': self._right_title}[loc.lower()]
    except KeyError:
        raise ValueError((u"'%s'    is    not    a    valid    location" % loc))
    default = {u'fontsize': rcParams[u'axes.titlesize'], u'fontweight': rcParams[u'axes.titleweight'], u'verticalalignment': u'baseline', u'horizontalalignment': loc.lower()}
    title.set_text(label)
    title.update(default)
    if (fontdict is not None):
        title.update(fontdict)
    title.update(kwargs)
    return title
