【发布时间】:2015-04-05 04:53:42
【问题描述】:
处理示例 here,我在 csv 中使用我自己的数据集来尝试显示一个简单的折线图。但是,无论我如何为 lineChart 创建“组”,它都不会在图表上显示任何实际线,也不会在轴上显示任何 y 值。我正在正确解析时间,因为画笔在图表上按预期工作,并且 x 轴具有正确的时间标签。
d3.csv('weatherLogMod.csv', function(data) {
var parseDate = d3.time.format("%Y/%m/%d %H:%M");
data.forEach(function(d) {
d.absHumidity = ((6.112 * Math.exp((17.67 * +d.Temperature)/(+d.Temperature + 243.5)) * 2.1674 * +d.Humidity.replace(/[",%]/g, ''))/(273.15 + +d.Temperature));
d.date = parseDate.parse(d.Time);
d.warmth = +d.Temperature;
});
var instance = crossfilter(data);
var dateDim = instance.dimension(function(d) { return d.Time; });
var tempGroup = dateDim.group().reduceSum(function(d) {return d.warmth;});
var minDate = dateDim.bottom(1)[0].date;
var maxDate = dateDim.top(1)[0].date;
var tempChart = dc.lineChart("#chart-line-hitsperday");
tempChart
.width(500).height(200)
.dimension(dateDim)
.group(tempGroup)
.x(d3.time.scale().domain([minDate,maxDate]));
dc.renderAll();
});
我找不到我做错了什么;在控制台中,执行 tempGroup.all() 给了我一个充满温度日期值的数组:键,所以它似乎应该工作? 这是screenshot of my problem.
【问题讨论】:
标签: javascript d3.js dc.js crossfilter