6 ms·
I really dislike these simple charting libraries, because I always have some kind of issue that just wastes my time in the end. For example with plottable, ther
by olavgg 10y ago
I really dislike these simple charting libraries, because I always have some kind of issue that just wastes my time in the end. For example with plottable, there is a hover event function that is extremely expensive that will trigger for every pixel movement with your mouse. With just a few hundred datapoints every chart we rendered ran horribly slow.
With D3.js you have instead full flexibility and the only performance issue is that SVG's are slower than canvas, and that is mostly a problem when you have tens of thousand data points.
- andybak 10y agoSurely if it's a bug that affects everyone then file an issue? If there's a bug in a library then that doesn't invalidate the entire concept of 'simple charting libraries'. How many have you tried? d3 is robust because it's great code that's widely used - not because of it's other design choices.
- ComputerGuru 10y ago> d3 is robust because it's great code that's widely used - not because of it's other design choices. I disagree very much. On top of the facts you mentioned, the main reason why d3 works where others don't is because it doesn't abstract away as much from the end user. Leaky abstractions will always, always come back and bite you in the you-know-where.
- blowski 10y agoD3 is itself a leaky abstraction, since all frameworks, libraries and languages are ultimately leaky abstractions of some lower level. What matters is choosing the right level of abstraction based on what you're trying to do, and the resources available to do it. In some cases, D3 will be at the right level, and in other cases, something like Plottable will be right.
- apathy 10y agoWhatever. This is a corporate vanity project (easy to spot because the logo is better than the code) with 5-, 6-, and 11-month old PRs hanging around. Clearly this library is setting the world on fire. Meanwhile if you want slow pointy clicky chartjunk for your PHB you can probably use your company's Tableau license, and if you want to push the envelope you use d3. I've been using d3 on and off since 2011. It started from a spare, elegant idea and progressed to the point that almost anything I might wish to implement has at least some pieces already written in some obscure blocks.org block. I find that pretty damned impressive given that many of my interests were research projects abandoned in the 90s and only just now beginning to come back. (yes, there were smart people back then, too; they all seemed to have SGIs)
- blowski 10y agoThat's an entirely valid but different criticism. I haven't used Plottable, but I have used Flot and Chart.js and was very happy with them both.
- groovy2shoes 10y ago> all frameworks, libraries and languages are ultimately leaky abstractions [citation needed] I seriously doubt the veracity of that claim, and if that's the only justification you can come up with as to why anything is a leaky abstraction, then I refuse to believe you.
- deleted 10y ago[deleted]
- sudhirj 10y agoEither that or it's widely used because it's robust and well designed.
- artursapek 10y agod3 is robust because it's practically a language, whereas all of these charting libraries that wrap it are essentially "d3 frameworks".
- edejong 10y agoTrue, it was heavily inspired by the book 'The Grammar of Graphics', which is a truly worthwhile read.
- apathy 10y agoHeh, someone was fussing about the price of a hard copy today on Twitter. No dispute that Wilkinson's ideas deeply influenced all sane graphics frameworks thereafter. In fact SPSS' purchase of SYSTAT was (by far) the best thing they ever did, and that's why people still use that awful piece of garbage. However, Hadley Wickham spent a lot of time thinking through which parts still made sense, and which didn't, in implementing ggplot2. That book is free online, as are Bostock's notes. I heartily recommend all three, but if money is an issue you can get the latter two for a lot less than a copy of TGoG. Funfact: Wilkinson started this by selling SYSTAT to SPSS, got bored, eventually went to Tableau (seems to have worked out nicely for them) and now is at h2o. As much as I despise SPSS from having taught classes that use it, I admire their business sense and wish I'd owned equity in them prior to IBM buying the company. H2O might not be a bad investment either (I've been wrong plenty of times though).
- akalin 10y agoThanks for the recommendations! Did you mean something specific when you referred to "Bostock's notes", or did you just mean his various blog posts and papers?
- apathy 10y agoMostly those, but there are some old conference papers and IEEE transactions (if memory serves) that are more explicit. I'll look them up when I have a block of time free.
- thecrow1213 10y agoSeriously... I was just reading the examples and thinking to myself "why would I use this over vanilla D3"? The syntax isn't more concise and offers less control, and introduces a whole new api to learn. To me this is like writing a DOM manipulation framework on top of jQuery...
- imh 10y agoI'm not great at web stuff. I usually just do numerical work. For people like me, there's a ton of overhead knowledge to effectively using D3.
- groovy2shoes 10y agoHeaven forbid you should ever need to learn anything!
- PercussusVII 10y agoI had a similar thought. With examples that still need so much code I'd rather just learn D3 and get much more re-usable knowledge
- ivanca 10y agoFWIW D3.js is a dependency of plottable