def xerrorbar(self, canvas, X, Y, error, color=None, label=None, **kwargs):
        """
        Make an errorbar along the xaxis for points at (X,Y) on the canvas.
        if error is two dimensional, the lower error is error[:,0] and
        the upper error is error[:,1]
        
        the kwargs are plotting library specific kwargs!
        """
        raise NotImplementedError("Implement all plot functions in AbstractPlottingLibrary in order to use your own plotting library")