开发者问题收集

HighStocks 阵列系列

2013-04-03
186

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

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

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

       ],

我希望使用数组中的数据,API 表示使用具有两个 x 和 y 值的数组,如下所示

数据:[[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] 是错误的。

1个回答

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

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

如果您的意思是希望以输入的顺序列出它们,而不进行排序,则情况会复杂得多。

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

jlbriggs
2013-04-03