FastPivot.js is a simple, small, and fast JavaScript library to shift or pivot data. It has no dependencies and can be used with really large JSON data.
JavaScript
Latest commit 4bd1880 Jun 29, 2016 @techslides committed on GitHub Update README.md
Permalink
Failed to load latest commit information.
README.md Update README.md Jun 29, 2016
fastpivot.js Update fastpivot.js Jun 29, 2016
fastpivot.min.js Update fastpivot.min.js Jun 29, 2016

README.md

FastPivot

FastPivot.js is a simple, small, and fast JavaScript library to shift or pivot data, often needed for drawing JavaScript charts and graphs. It has no dependencies, can be used with really large JSON data.

Usage

Pass an array to fastpivot which will return columns as objects with:

  • _data - contains frequency of any value in a column, used for lookup
  • _labels - contains unique values in an array, used to show labels in a chart
  • _labelsdata - frequency of values in an array, used to show data for each label in a graph

Example

Consider some tabular data

idmakecolorage
1Audi2015
2Toyotagreen2010
3Honda2013
4Audired2011
5BMWblue2012
6Audired2012
7Honda2013
8BMWblue2011
9Audired2010
10Toyotared2012

That you have in JSON:

var mydata='[{"id":"1","make":"Audi","color":"","age":2015},{"id":"2","make":"Toyota","color":"green","age":2010},{"id":"3","make":"Honda","color":null,"age":2013},{"id":"4","make":"Audi","color":"red","age":2011},{"id":"5","make":"BMW","color":"blue","age":2012},{"id":"6","make":"Audi","color":"red","age":2012},{"id":"7","make":"Honda","color":null,"age":2013},{"id":"8","make":"BMW","color":"blue","age":2011},{"id":"9","make":"Audi","color":"red","age":2010},{"id":"10","make":"Toyota","color":"red","age":2012}]';

Pass it to FastPivot:

var json = JSON.parse(mydata);
var data = fastpivot(json);

data["color"]._labels //returns ["", "green", "null", "red", "blue"]
data["color"]._labelsdata //returns [1, 1, 2, 4, 2]
data["color"]._data["red"] //returns 4

Draw Pie Chart with the data above, FastPivot, and ChartJS