【问题标题】:nvd3 candlestick chart not displaying custom datanvd3烛台图表不显示自定义数据
【发布时间】:2017-07-02 18:17:45
【问题描述】:

我有一个 nvd3 角度烛台图表,可以很好地显示硬编码数据。但是当我指向另一个数据源(socket.io)时,它不再显示了。

我从这里的套接字获取数据

 $scope.getdata = function () {
    console.log("getting data!");
    io.socket.get('/feed/getpolodata', function (data, jwr, err) {
        var values = [];
        angular.forEach(data.candleInfo, function (r) {
            //$scope.data
            values.push({

                "date": r.date,
                "close": r.close,
                "open": r.open,
                "high": r.high,
                "low": r.low,
                "volume": r.volume,
                "adjusted": r.low

            });

            if (err) {
                console.log("Error getting data")
            }
        });

        $scope.data.push({values});

        console.log("js" + JSON.stringify($scope.data));
        console.log("js2" + JSON.stringify($scope.data2));
    })
};

$scope.data 包含自定义数据,$scope.data 包含用于测试的硬编码数据。

数据2:

    $scope.data2 = [{
    values: [
        { "date": 1499031328, "close": 0.00008231, "open": 0.0000816, "high": 0.00008267, "low": 0.0000816, "volume": 12.09695909596307, "adjusted": 0.0000816 },
        { "date": 1499031388, "close": 0.00008303, "open": 0.000083, "high": 0.0000837, "low": 0.00008294, "volume": 10.91308942290992, "adjusted": 0.00008294 }
    ]
}]

当我将图表的数据值指向 data2 时,它可以完美运行。但是,当我指向 $scope.data 时,什么都没有显示。

编辑:这是 console.log 的结果

js[{"values":[{"date":1499034558,"close":0.00008388,"open":0.0000848,"high":0.0000848,"low":0.00008388,"volume":0.8672647004639618,"adjusted":0.00008388},{"date":1499034618,"close":0.00008405,"open":0.00008388,"high":0.00008574,"low":0.00008388,"volume":16.091108890994363,"adjusted":0.00008388},{"date":1499034678,"close":0.0000843,"open":0.00008405,"high":0.00008574,"low":0.00008388,"volume":2.3125435626714554,"adjusted":0.00008388},{"date":1499034738,"close":0.0000845,"open":0.0000843,"high":0.00008574,"low":0.00008388,"volume":0.012429811837685201,"adjusted":0.00008388}]}]
js2[{"values":[{"date":1499031328,"close":0.00008231,"open":0.0000816,"high":0.00008267,"low":0.0000816,"volume":12.09695909596307,"adjusted":0.0000816},{"date":1499031388,"close":0.00008303,"open":0.000083,"high":0.0000837,"low":0.00008294,"volume":10.91308942290992,"adjusted":0.00008294}]}]

【问题讨论】:

  • 新的文本结果与您在初始图片中的不同。这是否意味着它现在可以工作,还是错误不同?
  • 抱歉老图没有更新。文本控制台是最新的,但仍无法正常工作
  • 好的,您共享的代码未显示您将数据传递到 nvd3 的位置。您是否在收到数据后绘制图表?
  • 在接收数据之前绘制图形
  • 好的,这可能是问题所在,您需要稍后更新。如果您对此有疑问,请更新问题。

标签: socket.io sails.js nvd3.js angular-nvd3


【解决方案1】:

通过添加解决它

        $scope.$apply();
        $scope.api.refresh();

console.logs 之后

完美运行

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-09
    • 1970-01-01
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 2014-04-26
    • 1970-01-01
    相关资源
    最近更新 更多