Make a line plot from for Y on X (Y = f(X)) on the canvas.
        If Z is not None, plot in 3d!
        
        the kwargs are plotting library specific kwargs!

def plot(self, cavas, X, Y, Z=None, color=None, label=None, **kwargs):
        """
        Make a line plot from for Y on X (Y = f(X)) on the canvas.
        If Z is not None, plot in 3d!
        
        the kwargs are plotting library specific kwargs!
        """
        raise NotImplementedError("Implement all plot functions in AbstractPlottingLibrary in order to use your own plotting library")