【发布时间】:2016-07-09 15:39:44
【问题描述】:
我正在做一个数据可视化项目,我正在使用 dc.js 库。将数据转换为平面数据结构(用于交叉过滤)后,数据如下所示:
[{"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"];});
我的空气污染数据图表变得不准确,因为我在每个日期显示两倍的污染物量。如何使用 Reductio 的异常聚合功能显示每个日期的每个污染物读数(AQI 指数、PM 2.5、PM 10)的唯一值?这样做会影响我的医疗数据图表吗?
【问题讨论】:
标签: dc.js crossfilter reductio