【问题标题】:dc.js line chart is not showing anythingdc.js 折线图未显示任何内容
【发布时间】:2018-11-22 14:10:58
【问题描述】:

我正在使用第三方 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查看代码

【问题讨论】:

  • 您使用 x 轴上的日期,但您的 scaleLinear 的固定域为 [6,20]
  • @rioV8 实际上我是从为折线图给出的示例中选择的。我试图找到它的含义,但没有找到任何正确的答案。

标签: javascript d3.js


【解决方案1】:

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

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

您应该根据histoday 的值来确定它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    相关资源
    最近更新 更多