HighStock数据格式不起作用

时间:2015-10-07 13:25:00

标签: angularjs rest highstock

我在使用HighStock图表来渲染数据时遇到了很多麻烦。图表显示正常,但没有数据点,也没有时间范围。我正在使用AngularJS来调用我的RestAPI方法。此方法返回日期和关闭值的数组。

**c#**
public object[] Get(string symbol)
    {
        DateTime startDate = DateTime.Now.AddDays(-365);
        DateTime endDate = DateTime.Now;

        List<HistoryQuote> hq_list = StockEngine.GetHistory(symbol, startDate, endDate);

        List<object> output = new List<object>();
        foreach (var h in hq_list)
        {
            // in the format [1223337600000,12.74]
            output.Add(new object[] { JsonFriendlyDate(h.Date), h.Close });
        }

        return output.ToArray();

    }

    public long JsonFriendlyDate(DateTime value)
    {
        return (value.ToUniversalTime().Ticks - ((new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).Ticks)) / 10000;
    }

以下是我用来创建图表并绑定数据的JavaScript:

var params = { symbol: stock };
    services.HistorySvc.query(params,
        function success(data) {
            $scope.StockListLoading = false;
            $('.modal').modal('hide');

            $scope.ShowHistory = true;
            $('#history_container').highcharts('StockChart', {

                rangeSelector: {
                    selected: 1
                },

                title: {
                    text: stock + ' Stock Price'
                },

                series: [{
                    name: stock + ' Stock Price',
                    data: data,
                    type: 'area',
                    threshold: null,
                    tooltip: {
                        valueDecimals: 2
                    },
                    fillColor: {
                        linearGradient: {
                            x1: 0,
                            y1: 0,
                            x2: 0,
                            y2: 1
                        },
                        stops: [
                            [0, Highcharts.getOptions().colors[0]],
                            [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0).get('rgba')]
                        ]
                    }
                }]
            });


        }, function error(err) {
            alert("Hmm. History service failed.  Weird!");
            $scope.StockListLoading = true;
        });

HistorySvc定义为:

HistorySvc: $resource('/API/History/:id', { 'id': '@id' }, { update: { method: 'PUT' } })

我不确定我做错了什么。我从api调用中收到有效数据,但它似乎不是图表所需的格式。

当我在jsfiddle中运行highstock示例时,他们的API调用返回[[1000202,102.4],[12388388,10.9]]。我的返回格式完全相同,但图表不会渲染点数。任何帮助将不胜感激!

0 个答案:

没有答案