Highstock X轴(日期值)渲染不正确

时间:2014-10-31 02:34:51

标签: highstock

我以下列格式从json文件中读取数据:

[
    {
      "date":"2014-10-27",
      "open":23275,
      "high":23275,
      "low":23013,
      "close":23143
    },
    {
      "date":"2014-10-28",
      "open":23190,
      "high":23571,
      "low":23190,
      "close":23520
    }
]

以下是渲染图表的代码:

<script type="text/javascript">
        var myData;
        var raw;
        $(document).ready(function () {
            $.ajax({
                type:'get', 
                url:'hsi2.json', 
                success:function(data){
                    raw = jQuery.extend(true, {}, data);
                    myData = data;
                    var len = myData.length;
                    for(var i=0; i<len; i++)
                        myData[i].date = Date.parse(myData[i].date);

                    Highcharts.setOptions({
                        useUTC: false
                    });
                    createChart(myData);
                }
            });
        });
        function createChart(myData){
            $('#chartdiv').highcharts('StockChart', {

                rangeSelector: {
                    inputEnabled: $('#chartdiv').width() > 480,
                    selected: 1
                },
                title: {
                    text: 'HSI Daily'
                },
                xAxis: {
                    type: 'datetime',
                    labels: {
                        formatter: function () {
                            return Highcharts.dateFormat('%a %b %Y', this.value);
                        },
                        dateTimeLabelFormats: {
                            day: '%e. %b',
                            month: '%b \'%y',
                            year: '%Y'
                        }
                    }
                },
                series: [{
                    type: 'ohlc',
                    name: 'HSI',
                    data: myData,
                    turboThreshold: 100000
                }]
            });
        };
    </script>

X轴仅渲染如下:Thu Jan 1970 00:00每个栏。

日期显示不正确。我尝试了很多方法来修复但没有成功。日期已经采用时间戳格式。 我还尝试检查Highcharts.chart [0] .series [0] .data [i] .date正好是myData [i] .date的时间戳值。

请帮忙。

先谢谢。

1 个答案:

答案 0 :(得分:0)

比较示例后我发现了问题。

我没有使用myData [i] .date,而是使用myData [i] .x作为x轴。

    $.ajax({
        type:'get', 
        url:'hsi2.json', 
        success:function(data){
            myData = data;
            var len = myData.length;
            for(var i=0; i<len; i++)
                myData[i].x = Date.parse(data[i].date);


            Highcharts.setOptions({
                useUTC: true
            });
            createChart(myData);
        }
    });