9 ms·
Introducing d3-scale
- Simorgh 11y agoI really feel Bostock et al. are creating art. I'm just learning D3 at the moment and I am consistently blown away by its elegance.
- abusque 11y agoI read an article about the similarities and differences between data art and data visualisation a short while back (couple of weeks?), but I really can't seem to find it right now. Mike Bostock's visualisations, though very visually pleasing, always tend towards the functional side of the spectrum, serving a purpose of enhancing the comprehension of concepts or relationships that lie in the data, rather than being designed for purely æsthetic aspirations. There's obviously a place for both visualisations and art, though, and the line between the two is not always clearly defined.
- doorhammer 11y agoThink this might be the article you're looking for; figured I'd throw a link out in case it was: http://lisacharlotterost.github.io/ http://lisacharlotterost.github.io/ Was posted recently. Comments: https://news.ycombinator.com/item?id=10737876 https://news.ycombinator.com/item?id=10737876
- danso 11y agoTo dovetail off another HN thread (Free Springer math books)...after reading Bostock's piece, I suddenly realized that the classic Grammar of Graphics by Leland Wilkinson he quotes might be free...and it is! The 1999 version anyway: http://link.springer.com/search?query=grammar+of+graphics http://link.springer.com/search?query=grammar+of+graphics On Amazon, the cheapest available price is ~$55. For the second edition, which was printed in 2005 (and should be due to be free soon on Springer), it costs $132+
- selvan 11y agoBook "ggplot2 (grammer of graphics plot) - Elegant Graphics for Data Analysis" is hosted on github : https://github.com/hadley/ggplot2-book https://github.com/hadley/ggplot2-book
- mbostock 11y agoAuthor here, AMA.
- Simorgh 11y agoHi! What are your thoughts as to the development of responsive or mobile-optimised visualisations?
- mbostock 11y agoIt’s expensive (in terms of effort) to design for multiple screens, but often necessary. Responsive design isn’t something that can be transparently solved by technology because it’s a design problem to decide what you want to show on different screens. That said, once you’ve made those decisions, technology can make them easier to implement. (For example, see ai2html for a simple workflow used by The New York Times to create static graphics at various resolutions: http://ai2html.org/ http://ai2html.org/) For most #content today, it’s probably best to design for mobile first and then think about an enhanced (or “optimized”) display for desktop later. But there are plenty of visualization applications, such as systems monitoring, where you might want to design first (or even only) for a large desktop display. It’s a lot easier to have rich interactive displays on desktop. Our tiny phones are powerful computers, but there’s only so much you can squeeze out of a tiny display that gets occluded by our fat, meatstick fingers. ;)
- untilHellbanned 11y agonothing substative to add to HN other than saying thanks Mike! D3 is one of the most amazing things on the web! Mind blown, eternally grateful.
- lfittl 11y agoI'd love for d3 to have great integration with React - whats your suggested approach? https://github.com/FormidableLabs/victory https://github.com/FormidableLabs/victory seems most promising, but isn't really d3, more "d3-like".
- 11y ago
- graffitici 11y agoIs the idea to have the next version of d3 be completely modular? So that if we use a tool like webpack, we'll he able to pull in the parts that we need?
- mbostock 11y agoYes. I wrote a little bit more about that here: https://medium.com/@mbostock/let-s-make-a-d3-plugin-c8e697599f48 https://medium.com/@mbostock/let-s-make-a-d3-plugin-c8e69759...
- brockisbeast 11y agoIts would be a great idea
- ixtli 11y agombostock is a machines. The size and gravity of the work he does always impresses me.
- ilostmykeys 11y agoMike Have you toyed around with MathBox 2? It looks like it has a pretty interesting model.
- d--b 11y agoHey Mike, glad you're doing a AMA. I have a few questions: 1. There is no great javascript library for manipulating data, like pandas for python. Are you interesting in starting one as part as a d3 module? This could benefit from d3 being a standard and from your experience in writing javascript code. 2. Do you regret the original .enter() .exit() functions? These were powerful, but were a barrier for entry because they were hard to grasp. Do you wish you'd gone full functional from the start? 3. How do you get paid? Are you sponsored? Are you looking for sponsors? Thanks much for the great work!
- mbostock 11y ago1. There’s room for improvement here. There’s some useful stuff in d3-array (https://github.com/d3/d3-array https://github.com/d3/d3-array), particularly the nest and histogram operators. There’s also science.js (https://github.com/jasondavies/science.js https://github.com/jasondavies/science.js). And UW’s datalib (https://vega.github.io/datalib/ https://vega.github.io/datalib/), which is partly a wrapper of d3-request, d3-dsv, d3-array and d3-random. New D3 modules or contributions would be welcome. 2. Not at all; I still think the data-join is a powerful concept for transforming the DOM based on data, and the new work on non-DOM D3 modules does not reflect a shift in my opinion. I’m simply decoupling D3 so that people can use the parts independently. I’m still developing the new d3-selection and d3-transition modules, and those will be released soon, but I’m saving them for last because I want to let the design “bake” to make sure I’m happy with it before release. 3. I am not currently paid (other than a buck or two I make off stickers). My wife is currently my de facto sponsor. ;) I’d like to find a way to make this financially sustainable, but I don’t know yet exactly what that will entail, and I’d like to get 4.0 released first.
- d--b 11y agoThanks for mentioning science.js, sounds promising. I might give a go at something that manipulates indexed data, like timeseries. Re point 3: Please do thank your wife on behalf of the hackers community!
- jlukic 11y agow/r/t #3 - I just did the same thing with Semantic UI and our 2.0 release. Took a year off after working at The New Republic, but kept a desk there to work on open source while receiving a modicum of donations from the community. Was a hard year but the quality of work that the freedom provided was worth it. Perhaps you should consider a donate button in the docs for the time-being while you're going down this path with the project.
- rodionos 11y agoMike, I'm big fan of your work. Have been using it since early releases. I'd love to hear your thoughts on how to make visualization more appealing for non-programming users who want to interact with data beyond the basic clicks and drops. > D3 ... rejects the tyranny of charts Let me share a couple of counter-examples that attempt to accomplish the opposite, albeit for the common good: http://apps.axibase.com/chartlab/14cf1974/3/ http://apps.axibase.com/chartlab/14cf1974/3/ - Basic http://apps.axibase.com/chartlab/2111a2b7/2/ http://apps.axibase.com/chartlab/2111a2b7/2/ - Inheritance and Iterator http://apps.axibase.com/chartlab/e8635882/10/ http://apps.axibase.com/chartlab/e8635882/10/ - Time series transformations http://apps.axibase.com/chartlab/2ef08f32/1/ http://apps.axibase.com/chartlab/2ef08f32/1/ - Composite What you see is a set of charts built with D3 under the hood and placed on grid layout with a mix of configuration settings and basic control structures. What's unusual in this approach is that it introduces end-users to programmable visualization through a simplified DSL. It helps users step outside of GUI editor sandbox and yet it doesn't expose them directly to JavaScript and SVG. I'd appreciate your critique of this approach in general, not necessarily our implementation of it :) Is this level of "tyranny" acceptable in your view?
- hackaflocka 11y agoNomenclature is becoming confusing. In "R" (the statistical programming language), vector is analogous to column, and now in D3, vector is analogous to row.
- cls59 11y agoCould just be the difference between storing arrays in memory using row-major order vs. column-major order. Not sure which ordering JavaScript uses, but R is definitely column-major.
- coldtea 11y ago>To this end, D3 espouses abstractions that are useful for any visualization application and rejects the tyranny of charts. Hmm, a lot of projects floundered when they got that (meta/abstract)ambitious, and forgot the plainer beginnings that made them successful. Hope D3 can pull it off.
- mbostock 11y agoThis is not a new ambition; it has been my goal since starting Protovis in 2009. It’s working out okay so far, but I totally agree that things can go off the rails if you spend too much time thinking about abstraction and not about practical examples and real-world usage.
- adamwong246 11y agoThis is great! I use D3 with blaze and it will be nice to be able to exclude all the data binding stuff I don't need.
- deboboy 11y agoWould love to see a design surface like Webflow for D3. Then you would get high-fidelity 'create' mode while retaining fine control of SVG programmability.
- leadgen 11y agoJust want to say thank you very much for what you are doing. You should add Donate button so we can contribute towards your efforts.
- ddoolin 11y agoI personally make the better part of my living off being able to do custom D3 visualizations with some degree of speed and flexibility, so thank you Mike for your continued contributions and making it free for the rest of us. I'm seriously looking forward to D3v4 ;)
- chubot 11y agoThat's very cool -- what kind of clients do you have? Any examples that can be shared? Are people using D3 inside "enterprises" a lot for business intelligence stuff? I imagine that would be the kind of work that pays.
- infinite8s 11y agoLots of contract D3 work here - https://groups.google.com/forum/#!forum/data-vis-jobs https://groups.google.com/forum/#!forum/data-vis-jobs