Please note: Currently, n3-line-chart works only with D3.js version 3! In D3.js version 4, the API changed and hence breaks compatibility with many 3rd party libaries such as n3-line-chart.
You can install n3-line-chart by using the
npm package manager and running following command from the terminal.
npm install n3-charts
Alternatively you can download the latest release and place the line-chart.min.js wherever you want. Please note, that you need to also download D3.js and AngularJS when installing n3-line-chart manually!
Next, you need to reference LineChart.js and LineChart.css in your index.html file.
<script src="node_modules/n3-charts/build/LineChart.js"></script> <link rel="stylesheet" href="node_modules/n3-charts/build/LineChart.css">
Finally, you need to reference the n3-line-chart module in your AngularJS application.
Here is an example how your HTML file should look like.
Looking for the previous version 1? Try using
bower install n3-line-chart#1.1.12
What's new in v2?
Good question. Not that we rebuilt this just because we like building things, right ? Seriously though, v2 right now is mostly about solving v1 problems, you know, extendability and maintenance. The chart's directive lifecycle has been thought of from the very beginning, which allows better transitions and full leverage of d3.js capabilities.
Also, we now use something we call... Shoot, we dont have a name for that. Well, imagine a cake. With a bunch of fruits in it. Everything is baked in. Remove a fruit and there's a hole in the cake. No one wants a cake with air in it. That was v1. Now, imagine a pile of pancakes. Delicious, banana flavoured pancakes. Pour some maple syrup on those godly pastries. The syrup goes from one pancake to another, nothing fancy in this. Now if you remove one or two pancake, the syrup probably won't even notice. That's v2. v2's components are organized in layers and talk to each other using two powerful singletons,
factoryManager. It makes it super easy to add stuff and extend the directive's features.
Okay seriously, what's new ?
CSS styling for the entire chart Elements naming across the chart is now consistent and easy to override
Pure-HTML legend and tooltip you can pimp as much as you want Way easier to implement !
D3.js transitions for data update In v1, the entire chart was redrawn each time the data changed. V2 knows better.
Better data format The dataset has a new, more versatile format that allow unsynced data to be plotted.
Better performance due to smarter algorithms Well, actually what we were doing previously was the dumb way, this one is just the correct one.
Better options format Still WIP, though !
Contribution and Help
If you want to contribute, please contact us via Gitter to discuss the changes. Make sure you checkout the contribution docs and developer guidelines before. And don't be shy, we are always glad to help you with your first contributions.