Веб-диаграммы для временных рядов

У меня есть база данных (mysql) с 10 статистическими данными, собираемыми каждую минуту.

Я хочу визуализировать эти коллекции с помощью разных графиков. Например, визуализируйте коллекцию, сгруппированную по дням недели, часам дня и т. д.

Есть ли какая-нибудь библиотека, которая может сделать это автоматически?

Теперь я использую highcharts на node.js, но каждый раз, когда мне нужен новый график, я должен делать новый SQL-запрос, и вся обработка слишком длинная.

Язык не важен, и даже если это не веб-библиотека, это может быть любая библиотека.

Я думаю (как результат) что-то вроде Google Analytics. Есть идеи?

Ответы (1)

Ближайшая существующая на сегодняшний день библиотека NPM/JS, которая позволит вам «визуализировать» данные (я много искал ), — это dc.js , основанная на перекрестном фильтре, хотя она не будет делать это автоматически без какой-либо конфигурации или ввода пользовательского интерфейса.

Причина отсутствия библиотеки JS plug-and-play с полными элементами управления пользовательского интерфейса для настройки отображения данных заключается в том, что эта функция обычно зарезервирована для полных программных приложений аналитики / бизнес-аналитики, которые специально разработаны, чтобы позволить пользователям визуализировать данные по определенным параметрам. , например:

Конечно, вы можете написать код, который будет выполнять вашу задачу, который будет динамически запрашивать ваш набор данных и агрегировать ваши данные, которые затем будут загружены в ваши диаграммы после дополнительного усреднения, суммирования и т. д. Я ожидаю, что вы могли бы указать варианты того, как для «визуализации» ваших точек данных на основе типов полей и/или настроек из файлов конфигурации или элементов управления в вашем пользовательском интерфейсе.

Например, вы можете повторно использовать существующую библиотеку Highcharts после динамической группировки данных с помощью lodash или динамического построения запроса MySQL GROUP BY . Однако я лично рекомендовал использовать функции dc.js для выполнения измерения в зависимости от размеров вашего набора данных, как в этом примере .

Если вы напишете собственный код Node.JS, чтобы вывести данные диаграммы на основе конфигурации или настроек пользовательского интерфейса, пожалуйста, опубликуйте его как пакет NPM, чтобы мы все могли его использовать.