'create an axes at the given *position* with the same height
(or width) of the main axes.
*position*
["left"|"right"|"bottom"|"top"]
*size* and *pad* should be axes_grid.axes_size compatible.'

def append_axes(self, position, size, pad=None, add_to_figure=True, **kwargs):

    if (position == u'left'):
        ax = self.new_horizontal(size, pad, pack_start=True, **kwargs)
    elif (position == u'right'):
        ax = self.new_horizontal(size, pad, pack_start=False, **kwargs)
    elif (position == u'bottom'):
        ax = self.new_vertical(size, pad, pack_start=True, **kwargs)
    elif (position == u'top'):
        ax = self.new_vertical(size, pad, pack_start=False, **kwargs)
    else:
        raise ValueError((u'the    position    must    be    one    of    left,' + u'    right,    bottom,    or    top'))
    if add_to_figure:
        self._fig.add_axes(ax)
    return ax
