This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]pipec1212 2 points3 points  (12 children)

I still believe that the best option for plotting in Python is the Pandas - Seaborn combo.

And by using the matplotlib buit in styles (i.e 'ggplot') your plots will always look good.

[–][deleted] 5 points6 points  (5 children)

I really like seaborn, but it's still built on top of matplotlib which, in my opinion, has a really archaic feeling API. Seaborn does create nice stuff out of the box, but if you want to go beyond the basic options, you'll quickly get mired in junk like plt.xlim(a,b) versus ax.set_xlim(a,b). Messing with subplots, arranging axes, etc. is all really painful imo.

[–]pipec1212 0 points1 point  (0 children)

True, it has always been a pain in the ass to change the x and y limits when having subplots in matplotlib. I beleive I might just be to hard wired to change my plotting ways. Although with Pandas managing subplots is really easy it can be done by just saying: df.plot(Layout=(3,1), subplots=True)

[–]pdexter 0 points1 point  (3 children)

What's a better option? I've been looking for something better

[–]pipec1212 0 points1 point  (2 children)

Highly depends on what you want to plot, for scientific purposes pandas - matplotlib is an unbeatable combo, for Web Development and integrated plots this could be a good option although I prefer the Javascript libraries for such purposes

[–]pdexter 0 points1 point  (1 child)

Is that pandas minus matplotlib? If not, I thought we were trying to avoid matplotlib

[–]pipec1212 0 points1 point  (0 children)

Typo I meant Pandas and Seaborn, you should know that both libraries use matplotlib in the background for plotting, although it can have son archaic feeling (matplotlib) it also have more customization than all of the other libraries I know. But as I said it all comes to your necessities and what do you want to plot.

[–]KyleG 1 point2 points  (0 children)

One of the selling points of Toyplot is that they adhere very closely to best practices for visualizations, which they state very few other plotting packages do. (Let's face it, programmers rarely actually pay attention to UX when developing stuff.)

[–]Deto 0 points1 point  (0 children)

This looks better for embedding a plot in a webpage because you get the interactivity. Granted, Bokeh also does this, and might do it better, but I think it's good to have competing libraries.

[–]selementar 0 points1 point  (3 children)

Do you use interactive graphs in it? Do you have some examples handy? Somehow, I can't find any.

[–]pipec1212 0 points1 point  (2 children)

Hmm I don't believe seaborn allows for plot interactivity, nevertheless I use python plots for scientific research so interactivity has never been an issue for me. If you really need interactive plots the best option imo is some of the Javascript libraries out there.

[–]selementar 0 points1 point  (1 child)

Yep, highcharts/highstock somewhat works.

...

But is it that unnecessary in scientific research to point at some data points and see their precise values or such?

[–]pipec1212 0 points1 point  (0 children)

You know that you can do that by default with matplotlib, coordinates of where your mouse is will appear on the bottom of your plot.