5

I have a database (mysql) with 10 statistics collected every minute.

I want to visualize those collections through different graphs. For example visualize the collection grouped by day of the week, hour of the day... etc.

Is there any library that can do that automatically?

Now I'm using highcharts on node.js but every time i need a new graph i must do a new SQL query and all the processing is too long.

The language is not important, and even if is not a web library, it can be any sort of library.

I'm thinking of (as result) something like Google Analytics. Any idea?

1 Answer 1

5
+50

The closest NPM / JS library that exists today that will allow you "visualize" data ( I've searched extensively ) is dc.js based on crossfilter although it won't do it automatically without any configuration or UI input.

The reason there's no plug-and-play JS library with full UI controls to tweak how data is displayed is that this function is typically reserved for a full analytics / BI software applications which are specifically designed to allow users to visualize data along defined dimensions .. such as the following:

You can of course, write code that would accomplish your goal that would dynamically query your data set and aggregate your data, which would then be fed into your charts after additional averaging, summation etc. I would expect that you could feed in options on how to "visualize" your data points based on field types and/or settings from either config files or controls in your UI.

For example, you can reuse your existing Highcharts library after grouping data dynamically via either lodash or dynamic construction of a MySQL GROUP BY query. However, i'd personally recommended leveraging dc.js features to perform dimensioning depending on your dataset sizes, such as in this example.

If you do write custom Node.JS code to kick out charting data based on either configuration or UI settings input please publish it as an NPM package so we can all use it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.