0

我使用来自雅虎的日期和收盘价创建单线系列图表。我已将日期转换为 JS 时间戳并将它们放入名为 timeStampArray 的数组中,并将收盘价放入名为 closePrices 的数组中。

我可以用如下数据填充图表:

data : [
          [ 1361750400000, 442.80],
          [ 1361491200000, 450.81]

       ],

我希望使用我的数组中的数据,API 说要使用一个具有 x 和 y 两个值的数组,就像这样

data: [[5, 2], [6, 3], [8, 2]]

因此我可以组合我的两个数组以使它们适合这种格式吗?

我只能找到如何将我的数组组合成这样的键值对的示例{'test1':'1', 'test2':'2'};

此外,当我使用硬编码数据创建图表时,它按升序排列日期,但我希望它保持输入的顺序,例如 2 月 25 日之前 2 月 22 日,因为这是显示历史数据。

有没有办法纠正这个问题?

这是我当前代码的 jsFiddle:http: //jsfiddle.net/mXnZy/

更新:我试过了

var timeClose = new Array();
for(var i=0; i<data.query.results.quote.length; i++)
            {
                   timeClose.push( [timeStampArray[i], closePrices[i]] );
            }

但是这个输出[1361750400000, 442.80, 1361491200000, 450.81]是错误的。

4

1 回答 1

1

如果您的意思是希望它们以相反的顺序排序,您可以使用 x 轴上的 'reversed' 属性:

http://api.highcharts.com/highstock#xAxis.reversed

如果您的意思是希望它们以输入的任何顺序列出,而不进行排序,那将更加复杂。

您可以提供序数 x 值,并将日期作为附加数据提供。然后,您可以使用轴标签格式化程序来显示您希望的日期。

于 2013-04-03T16:30:11.477 回答