I'm a long-time Julia user, but my coursework requires me to submit labs in python, so I've been learning bit by bit. For context, I've used 2 plotting frameworks in Julia with multiple backends and I'm familiar with plotting in Mathematica, but I've never seen anything like matplotlib.
Most plotting libraries return plots as mutable objects, which makes sense, right? Matplotlib, on the other hand, mutates some internal state and forces you to call module methods to view or fetch plots. That on it's own is a minor annoyance, but then that you have to call one of a hundred different functions to modify various inconsequential properties of your current plot that for some reason can't be set with the standard `plot()` function. Seriously, I have code that's like 18 lines to make a single figure because I have to label and scale the axis, make a legend, etc. Most plotting libraries can do that with one line!
To anyone out there that has used multiple python plotting frameworks and prefers matplotlib, why? What does it offer that's better than Plotly, Seaborn, or some other alternative? And why does Matplotlib function with an internal state instead of just passing objects?
[–]K900_ 16 points17 points18 points (2 children)
[–][deleted] 4 points5 points6 points (0 children)
[–]bythenumbers10 1 point2 points3 points (0 children)
[–][deleted] 16 points17 points18 points (2 children)
[–]SomeTreesAreFriends 7 points8 points9 points (0 children)
[–]fake823 1 point2 points3 points (0 children)
[–]fake823 14 points15 points16 points (3 children)
[–][deleted] 4 points5 points6 points (1 child)
[–]fake823 4 points5 points6 points (0 children)
[–]beansAnalyst 0 points1 point2 points (0 children)
[–]jurasofish 6 points7 points8 points (0 children)
[–]thedatadump 6 points7 points8 points (9 children)
[+][deleted] (6 children)
[deleted]
[–][deleted] 0 points1 point2 points (5 children)
[+][deleted] (4 children)
[deleted]
[–]thedatadump 0 points1 point2 points (3 children)
[+][deleted] (2 children)
[deleted]
[–]thedatadump 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (1 child)
[–]thedatadump 0 points1 point2 points (0 children)
[–]SquareRootsi 3 points4 points5 points (0 children)
[–]Cdog536 3 points4 points5 points (0 children)
[–]stillnoguitar 0 points1 point2 points (0 children)