code: def plot(self, cavas, X, Y, Z=None, color=None, label=None, **kwargs):
          
          raise NotImplementedError("Implement all plot functions in AbstractPlottingLibrary in order to use your own plotting library")
docs: 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!