Better and more controllable charting

Fixes #217 #248 #232 #228