code: def imshow_interact(self, canvas, plot_function, extent=None, label=None, vmin=None, vmax=None, **kwargs):
          
          raise NotImplementedError("Implement all plot functions in AbstractPlottingLibrary in order to use your own plotting library")
docs: This function is optional!
  
          Create an imshow controller to stream 
          the image returned by the plot_function. There is an imshow controller written for 
          mmatplotlib, which updates the imshow on changes in axis.
                  
          The origin of the image show is (0,0), such that X[0,0] gets plotted at [0,0] of the image!
          
          the kwargs are plotting library specific kwargs!