5 ms·
I would strongly recommend against anyone using Seaborn. I used it for charts in a paper recently, since it includes swarm plots. I hit a problem when overlayi
by chriswarbo 8y ago
I would strongly recommend against anyone using Seaborn.
I used it for charts in a paper recently, since it includes swarm plots. I hit a problem when overlaying certain types of plot on the same axes (I think it was swarm plots on top of box plots, so I could show every data point as well as the quartiles). The problem was that the data would end up shifted, so the x axis labels weren't correct, even though each plot on its own would work fine when the other was commented-out. The only reason I noticed this was because I spotted that a peak I knew occurred at x=13 was showing up at x=14.
Although it took a specific set of circumstances to trigger, I thought this was still a serious problem since it causes data to be misrepresented, and it doesn't cause any warning, etc. that something is wrong. I made a minimal example script, opened a github issue ( https://github.com/mwaskom/seaborn/issues/1409 https://github.com/mwaskom/seaborn/issues/1409 ), where the library author insulted me and locked the issue. I sent them a followup email, to explain that I was not after "free tech support" (I'd already worked around the issue for my paper by 'faking' the labels), I wanted to help improve the library so that others would avoid having incorrect plots (especially those not lucky enough to spot it like I was) and how I'd already spent considerable time narrowing down the problem to the minimal example, as evidence that I wasn't trying to be a freeloader. I also began my email with an apology for using this side channel, and that I wouldn't contact them again unless they consented to it. The author replied with more insults.
I didn't contact them again, as promised, but now I'm actively opposed to anyone using this project, due to the author's complete disregard for corruption of scientific data.
- saeranv 8y agoAgreed! Why would anyone risk using Seaborn after seeing the way that library author treated potential contributors pointing out a valid bug.
- b_tterc_p 8y agoGoing to agree with the Seaborn guy here. While you qualify your stance with some diplomatic terms, it does come off as very aggressive. Adding polite statements to a rude letter doesn’t make it polite; and a provider of an open source maintainer doesn’t have do to anything for you. You call the software objectively wrong and are telling the author that his product is wrong when you really should be asking how to use it on stack overflow. Seaborn is a really nice way to take off matplotlib overhead and make your non-seaborn plots look better too. I highly recommend it.
- blub 8y agoIt doesn't come off as "very aggressive", it comes off as slightly annoyed at not being taken seriously and getting curt answers. It's every open source author's right to be a jerk and blow off people asking for help! Blaming and patronising the problem reporter is not necessary.
- notafraudster 8y agoI'm not sure I get this characterization of the exchange; the parent comment is a little curt in his third reply, but the original issue is very well-formulated and the Seaborn guy's replies are incomprehensible. After elaborating, the parent gets a little pedantic in trying to get the maintainer to respond with something other than a one-sentence dismissal, and although at that point the comment is a little hostile, it clearly isn't "an obnoxious rant" or "asking for free tech support". Relative to the number of stars the repository has, this exchange was probably one of the most user-hostile I've ever seen for a legitimate question on a bugtracker.
- chriswarbo 8y agoAs I wrote in my above comment, and in the followup email I sent after the bug was locked, I got the graphs I needed for my paper after about 5 minutes playing with the axes. No StackOverflow needed. My problem wasn't "I need these particular graphs to look right", my problem was "Using this library in a seemingly reasonable way can silently produce corrupt/misleading results". That's a problem for all potential new users, and hence why I decided to invest a bunch of time in narrowing it down, report and pursue it. I also didn't call the software itself objectively wrong; only the decisions/execution trace which lead to the incorrect graphs: "this script doesn't set any axis labels or ticks: those decisions are made by matplotlib and/or seaborn, and are objectively wrong in this situation, regardless of the algorithmic details of how they have been arrived at." I wouldn't have minded if it were closed as unfixable or something, but it was instead mischaracterised: "This is, in my opinion, a legitimate issue worthy of acknowledging (even if such acknowledgement takes the form of a "won't fix" closure)." I wouldn't recommend Seaborn to anyone who wasn't prepared to manually cross-check all of the entries and statistics in the resulting plots.