Я работаю над проектом визуализации данных, и я использую библиотеку dc.js. После преобразования данных в плоскую структуру данных (для кросса-фильтра), данные выглядит следующим образом:Как использовать функцию агрегирования исключений Reductio для нескольких столбцов данных?
[{"date":"2015-01-01","region":1,"cancer":10,"diabetes":5,"aqi_index":66,"pm2_5":20,"pm10":35},{"date":"2015-01-01","region":2,"cancer":30,"diabetes":25,"aqi_index":66,"pm2_5":20,"pm10":35}]
У меня есть график линии для отображения данных загрязнения воздуха и многослойная области диаграмма для отображения медицинских записей.
Здесь я столкнулся с проблемой. Как вы можете видеть, моя таблица содержит две строки для каждой даты, по одной для каждого региона. Медицинские данные различаются в зависимости от региона; Тем не менее, данные о загрязнении воздуха одинаковы для обоих регионов на ту же дату. Как я использую следующий код, чтобы получить график чтения загрязнителей воздуха в зависимости от времени:
var ndx = crossfilter(data);
var dateDim = ndx.dimension(function(d) {return d["date"];});
var aqi = dateDim.group().reduceSum(function(d) {return d["aqi_index"];});
var pm2_5 = dateDim.group().reduceSum(function(d) {return d["pm2_5"];});
var pm10 = dateDim.group().reduceSum(function(d) {return d["pm10"];});
Моего график для данных загрязнения воздуха становится неточным, как я показывать удвоенное количество загрязняющих веществ для каждой даты. Как я могу отобразить уникальное значение каждого показания загрязняющих веществ (индекс AQI, PM 2.5, PM 10) для каждой даты с использованием функции агрегации исключения Reductio? Будет ли это влиять на мою диаграмму для медицинских данных?
я получил следующее сообщение об ошибке, когда я попробовал ваш код: 'TypeError: group.all не является функцией. (В 'group.all()', 'group.all' не определено) ' –
Я не вижу места в вашем вопросе или моем примере, где будет вызываться group.all. Вы опубликовали полный код? –
Собственно, сообщение об ошибке было отправлено в ссылку на файл dc.js, когда я добавил код. Однако мне удалось обойти проблему, разделив данные на две таблицы и используя два отдельных экземпляра перекрестного фильтра, а затем добавив метод прослушивателя событий, чтобы связать обе диаграммы вместе при фильтрации (что хорошо работает для моего проекта). Большое спасибо за вашу помощь! :) –