How do I get rid of the redundant ticks on the top and right edges?


same for yaxis

Is there any way to stop some of my text labels from overlapping?

don't know
Why is there such a big gap between the plot itself and the axes ticks?

did you try  pylab.axis('tight')