dc.js折线图未显示任何内容

时间:2018-11-22 14:10:59

标签: javascript d3.js

我正在使用第三方API渲染表中的某些数据。在表格中,我需要向用户显示折线图。我正在使用dc.js绘制图表。

但是不知何故,它没有创建图表。

输入JSON对象:

coinData.histoday = [
  {
    "time": 1542240000,
    "high": 0.5026,
    "low": 0.4693,
    "open": 0.4917,
    "volumefrom": 34761.89,
    "volumeto": 16974.23,
    "close": 0.4883
  },
  ...
  {
    "time": 1542326400,
    "high": 0.4996,
    "low": 0.4616,
    "open": 0.483,
    "volumefrom": 18359.92,
    "volumeto": 8816.43,
    "close": 0.4802
  }
]

JavaScript代码:

        var ndx = crossfilter(coinData.histoday),
        dateDimension = ndx.dimension(function (d) {
            var myDate = new Date( d.time *1000);
            return myDate;
        }),
        dateGroup = dateDimension.group().reduceSum(function (d) {
            console.log(d);
            return d.close;
        }),
        priceDimension = ndx.dimension(function (d) {
            var myDate = new Date( d.time *1000);
            return myDate;
        }),
        priceGroup = priceDimension.group().reduceSum(function (d) {
            return d.close;
        });

        lineChart.width(100)
            .height(40)
            .dimension(priceGroup)
            .group(dateGroup)
            .margins({left: 0, top: 0, right: 0, bottom: 0})
            .brushOn(true)
            .x(d3.scaleLinear().domain([6,20]));

        dc.renderAll();

您可以在link

看到代码

1 个答案:

答案 0 :(得分:1)

如果我对scaleTime().domain()进行硬编码,则会看到一行

.x(d3.scaleTime().domain([new Date(1542240000*1000),new Date(1542844800*1000)]));

您应该基于histoday值来确定它。