Live data from Hacker News

C3.js: D3-based reusable chart library

c3js.org

21–30 of 81 posts

Re: C3.js: D3-based reusable chart library

#21
post #9

The type of chart I've found most useful is heat map charts, and none of the charting library I've looked at provide that: Here's an example from a Datadog dashboard: https://cloud.githubusercontent.com/assets/1189716/4064956/6... I wish such a chart style was more common, it's so much more useful than a typical line chart of the median/p9x. Unfortunately, I'm not familiar enough with D3 and such to write my own; it…

you may be able to reproduce a heatmap using this d3 extension.. it's called bubble matrix but both heatmaps and this bubble matrix are meant for displaying two dimensions of data

https://github.com/benbria/d3.chart.bubble-matrix

Re: C3.js: D3-based reusable chart library

#22

Out of raw d3.js, nvd3.js, cubism, and rickshaw.js, I've by far had the best experience with nvd3. I was particularly pleased with the way nvd3 supports sliding data off line charts without any extra work. D3.js is an excellent, low level visualization library. But you will find yourself spending days to a couple weeks with custom styling, tooltips, legends, etc. Many high level charting libraries are nice because th…

Awesome post. I've been trying to learn D3 on weekends and it's been more than a little difficult to get everything behaving and looking exactly like I want.

Re: C3.js: D3-based reusable chart library

#25
Careful, this has pretty much zero documentation and inconsistent options available for each chart type. I started a project with it and after a great start realised I had to scrap it all and start from scratch with some more complete alternative (haven't started looking yet).

Re: C3.js: D3-based reusable chart library

#26
This looks like an interesting project. The struggle I've had in the past with similar libraries is the level of extensibility provided by the API. It's not clear from he docs how to add your own custom viz. I would love a d3 based chart library that would provide an easy to use chart api,such as we see in c3js. Which I do like. But also a DSL that is not as low level as D3 but provides enough flexiblity for creating new visualizations. There have been some nice declarative charting libs posted on HN, which links I can't find right now. Keep up the good work, I'll be following this project closely.

Re: C3.js: D3-based reusable chart library

#27
This totally goes against the whole point Mike Bostock (creator of D3) laid out when he talks about creating reusable charts...

http://bost.ocks.org/mike/chart/

"To sum up: implement charts as closures with getter-setter methods. Conveniently, this is the same pattern used by D3’s other reusable objects, including scales, layouts, shapes, axes, etc."

You get none of that with C3.js...

Re: C3.js: D3-based reusable chart library

#29
We evaluated Rickshaw and Dimple (http://dimplejs.org/) for awhile (to migrate some custom charts initially built with D3.Chart http://misoproject.com/d3-chart/). We went with Dimple and I've been very pleased with it. There is ample documentation, the source code is readable, and the developer behind it is responsive to questions and issues. Also, it's very easy to get access to the underlying axes/series/legends/etc if you want to do more complicated work not provided out of the box and are familiar with d3. I would highly recommend it if you're looking for a d3 chart library.

Re: C3.js: D3-based reusable chart library

#30

This totally goes against the whole point Mike Bostock (creator of D3) laid out when he talks about creating reusable charts... http://bost.ocks.org/mike/chart/ "To sum up: implement charts as closures with getter-setter methods. Conveniently, this is the same pattern used by D3’s other reusable objects, including scales, layouts, shapes, axes, etc." You get none of that with C3.js...

There are some things that you can't easily do with Mike Bostock's method. Namely, it's not a good format for storing, examining, and modifying charts. And that's perfectly fine. It's good for what it's good for. But not everyone has the same needs.
Post reply on HN