abstract plotter class for matplotlib