Simplify basic plotter for flexibility

Basic plotter is now controlled almost entirely by the Python, which
makes the C++ code simpler at the cost of more complex Python, but does
allow more flexibility.