'create a twin of Axes for generating a plot with a sharex
x-axis but independent y axis.  The y-axis of self will have
ticks on left and the returned axes will have ticks on the
right'

def twinx(self, axes_class=None):

    if (axes_class is None):
        axes_class = self._get_base_axes()
    parasite_axes_class = parasite_axes_class_factory(axes_class)
    ax2 = parasite_axes_class(self, sharex=self, frameon=False)
    self.parasites.append(ax2)
    self.axis[u'right'].set_visible(False)
    ax2.axis[u'right'].set_visible(True)
    ax2.axis[(u'left', u'top', u'bottom')].set_visible(False)
    def _remove_method(h):
        self.parasites.remove(h)
        self.axis[u'right'].set_visible(True)
        self.axis[u'right'].toggle(ticklabels=False, label=False)
    ax2._remove_method = _remove_method
    return ax2
