dc.js图表​​不会显示直线和y轴值

时间:2015-04-05 04:53:43

标签: javascript d3.js dc.js crossfilter

使用示例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.

1 个答案:

答案 0 :(得分:1)

经过一些试验和错误,我发现了它;

var dateDim = instance.dimension(function(d) { return d.Time; });

应该是:

var dateDim = instance.dimension(function(d) { return d.date; });

它工作正常。