格式化HighCharts中的日期

时间:2016-02-06 12:29:11

标签: javascript php highcharts

我有以下代码:

  <script>
$.getJSON('https://www.quandl.com/api/v3/datasets/OPEC/ORB.json?order=asc', function(json) {
    var hiJson = json.dataset.data.map(function(d) {
      return [new Date(d[0]), d[1]]
    });

    // Create the chart
    $('#container').highcharts('chart', {
      rangeSelector: {
        selected: 1
      },
      title: {
        text: 'OPEC Crude Oil Price',
      },
      series: [{
        type: 'line',
        name: 'OPEC',
        data: hiJson,
      }]
    });
});

按照以下方式打印漂亮的图表:

OPEC Crude Oil Price

但正如您所看到的,日期格式不正确。我正在努力弄清楚出了什么问题?

所有的帮助一如既往地赞赏!

更新

感谢Holvar的评论,我解决了一个问题,但现在又有了另一个问题。

我的代码如下:

<script>
$.getJSON('https://www.quandl.com/api/v3/datasets/BOE/IUAAAMIH.json?auth_token=pg6FBmvfQazVFdUgpqHz&start_date=2003-01-02&order=asc', function(json) {
    var hiJson = json.dataset.data.map(function(d) {
      return [new Date(d[0]), d[1]]
    });

    // Create the chart
    $('#interest').highcharts('chart', {
      xAxis: {
        type: 'datetime',
        dateTimeLabelFormats: {
                          day: '%Y'
                      }  
      },            
      rangeSelector: {
      selected: 1
      },
      title: {
        text: 'UK Interest Rates',
      },
      series: [{
        type: 'line',
        name: 'Interest Rate',
        data: hiJson,
      }]
    });
});

但这会产生一个底部没有日期的图表。我喜欢2003-01-02的几年。图表看起来像这样

UK Interest Rate

我不明白为什么在最初提出的问题的解决方案中没有显示年度日期?!

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我认为问题在于数据地图的发生方式。结束数组包含多个数组,而不是带有&#34; x&#34;的对象。和&#34; y&#34;属性。尝试将hiJson变量的初始化更改为:

var hiJson = json.dataset.data.map(function(d) { return { x: new Date(d[0]), y: d[1] }; });

这似乎与我的本地环境有关。