What I can't decide is if: a) matplotlib is difficult; b) plotting is inherently complex like writing sheet music; c) object oriented programming leads to gratuitous complexity. So I chalk it up to some combination of the three, but have never felt compelled to try anything different.
I don't do anything for publication, but I use plotting inside of software that I use for running lab experiments, prototypes of measurement hardware, and even in the factory. So I'm using Python for what people would have used LabVIEW for in the past. My programs need to produce readable plots without tweaking, because I don't know in advance what the data are going to look like. The combination of tkinter and matplotlib is really huge for me.
Every single time! Unlike, say, numpy, where everything is consistent, makes sense, and works as expected almost always.