我使用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]
是错误的。
答案 0 :(得分:1)
如果您的意思是希望它们按相反顺序排序,则可以在x轴上使用“反转”属性:
http://api.highcharts.com/highstock#xAxis.reversed
如果您的意思是希望按照输入的顺序列出它们,而不进行排序,则会更加复杂。
您可以提供序数x值,并将日期作为附加数据提供。然后,您可以使用轴标签格式化程序显示您希望的日期。