Whilst agreeing with Kaushik's sentiments on the greatness of matplotlib, I thought his example plot nicely illustrates a layout wart that I think is easily fixed by changing the default xtick.major.pad, xtick.minor.pad, ytick.major.pad and ytick.minor.pad values from 4 to 6.
As well as preventing the x- and y-axis labels running into each other in Kaushik's example, the most common case of a 2D plot with 0 lower bound on both the x- and y-axes [e.g. plot(rand(10))] looks better with the default font when pad=6. Just to bolster my case, according to the gestalt theory "Law of Proximity" <http://en.wikipedia.org/wiki/Gestalt_psychology>, the labels, which are currently closer to each other at the axis intersection than to the axes themselves become separated enough from one another so that they become visually associated with the axes in this region.
As an aside, I went looking for Matlab plotting examples and some appear to match the pad=4 padding whereas others are more like pad=6.
Of course I shall change this in my matplotlibrc file. I just thought I'd see if I could provoke a revolution,