Best package for making graphs

In the company I work we have to chose a package for showing real time data. I’m checking D3 but I cannot find a lot of projects with d3 and Meteor. Does It really worth to start using d3 or maybe we should go for another one?

according to posts from @awatson1978 it was part of the core some time ago.
Also it is part of clinical meteor release branch.

D3 seems to be very common and powerful, but I haven’t used it yet.
Personally, I’m using chart.js for a project at the moment. Chart.js has powerful features for charting and supports many different chart types. Currently there is a 2.0.0 in development, the beta brings tons of new features that make chart.js even greater (like improved scales or better customization).
Chart.js can automatically calculate the scales and can also handle timelines (at least in 2.0.0) - For me it works good with realtime data. But sometimes I experienced performance and render-time issues when having really large datasets and scales.

some of these packages may be an option for you to try out :

D3 was in core from 0.4 through 0.9, I believe? So about two years. The majority of time that Meteor has been in existence.

As to the OP’s question, it depends on what kinds of graphs you want to make. Are you doing scientific computing? Do you need a data visualization platform? Or are you just doing a bit of dashboard graphics?

And yes, we’ve put D3 back into the clinical distro; have validation scripts working across D3 graphs; and are working on getting verification tests on it.

You may want to check out the realtime-analytics-pipeline, which connects Mongo to D3 via livedata, minimongo, and tracker. You can update a field in mongo, and it will propogate reactively to the data visualization graph.

1 Like

I have tried chart.js and I wasn’t satisfied. You don’t really have full control like you have in d3. For instance, chart.js big “feature” is the utilization of html5 canvas. This sounds good and all, but you can’t really attach class/id to these elements unllike svg/html elements in d3, thus not allowing you to separate styling from markup. This is very bad imo.

1 Like

Hi Abigail, I submitted an issue

I needed to make a simple line graph with multiple data series, and I ended up using Chartist. There’s a chartist package on atmosphere.

D3 for some reason wasn’t working great for me, I forget what it was but I tried a few solutions and Chartist was the easiest. It could be that I’m using React instead of Blaze for my UI, so there’s not a whole lot of choices and examples for React.

Recently, I found an interesting talk about different charting libraries, their downsides and mainly about the making of plottable.js.

It is really quite interesting and informative. For me it makes me thought-provoking about using the right charting library (actually chart.js), but I think they are all good. As long as you don’t get into trouble, they are offering you all the same - charts. I will stick with chart.js, eventually I will take a look at plottable or chartist.

1 Like