use ax.plot for cast locations
rename __repr__ as __str__ and make it more efficient