HighStocks阵列系列

时间:2013-04-03 15:04:38

标签: javascript arrays highcharts highstock

我使用yahoo的日期和收盘价创建单线系列图表。我已将日期转换为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月22日之前的2月25日,因为这显示了历史数据。

有没有办法纠正这个?

下面是我当前代码的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]是错误的。

1 个答案:

答案 0 :(得分:1)

如果您的意思是希望它们按相反顺序排序,则可以在x轴上使用“反转”属性:

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

如果您的意思是希望按照输入的顺序列出它们,而不进行排序,则会更加复杂。

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