C3 DataSet Reduction by Zoom Level

Hackathon May 2014

By Dan-el Khen

Rendering graphs in the browser has many advantages, the downside is that takes a long time to render when having large datasets.

This feature allows you reduces the dataset according to your current zoom level. It allows the developer to implement the reduction algorithm in a simple function that accepts an array of values, and returns a reduced single value. The default reducer will take the first item, but avg/sum/first/last or any other algorithm is simple to implement.

Example

In the following example, we'll render 10K data points, each time we'll reduce those to about 100 items (depending on available size on your screen), when zooming in, the resolution of the data will be better and more accurate. This would help in showing the big picture, even when the amount of data is bigger than the numbers of pixels on the screen.

Click on the buttons or scroll with your mouse wheel inside the graph to zoom and/or pan.


        

Notes

Only 'columns' data format is supported for now.