If you can get away with it use pandas' plot, seaborn, altair, etc.
If you can get away with it use pandas' plot, seaborn, altair, etc.
Every single time! Unlike, say, numpy, where everything is consistent, makes sense, and works as expected almost always.
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.
You could always even just write out GNU Plot commands and then call it. I used that for the test harness I wrote in the robotics club (and everything was in C!) to plot the trajectory of the robot in auto mode. It’s super easy! I don’t remember if the GUI has all the panning and scaling though.
Since their 4.0 release (https://medium.com/plotly/plotly-py-4-0-is-here-offline-only...), there's no longer any connectivity to their cloud service, it's "offline only". It used to have an offline interface _and_ a connected interface, now it's offline only.
See https://plot.ly/python/is-plotly-free/ for full details.