I don't mind matplotlib at all but I just find it annoying in one of my most important use cases which is to update the plot during a long calculation.
You gave to call fig.canvas.draw but it doesn't always work and sometimes plt.pause works but sometimes it only partially updates the display and you have to call it multiple times. (At least this in is my experience with TkAgg backend.)
Meanwhile you can't interact with it.
I would love a version of matplotlib which lives in a separate process and gets updated via nonblocking communication.