highcharts共享工具提示指针

时间:2013-03-06 22:51:20

标签: highcharts

我有一个显示各种天气数据的图表,它可以正确地完成。

工具提示可以很好地处理系列中的数据,但我想以附加文本的形式向另一个数据数组中的每个数据添加一些额外的数据。

第一个数据阵列是

var hightemp = new Array(12.2, 12.9, 22.7, 26.0, 29.8, 31.5
                        ,33.5, 30.5, 25.1, 23.6, 15.2, 13.2);

,第二个是

var hightempT = new Array("at 16:44 on 29 January 2013"
                  , "at 13:58 on 29 February 2012", "at 18:03 on 28 March 2012"
                  , "at 17:44 on 21 April 2011", "at 17:08 on 26 May 2012"
                  , "at 17:22 on 26 June 2011", "at 17:10 on 26 July 2012"
                  , "at 17:06 on 10 August 2012", "at 18:10 on 07 September 2012"
                  , "at 14:55 on 01 October 2011", "at 13:53 on 03 November 2011"
                  , "at 14:13 on 22 December 2012");

因此,当工具提示在第1点上运行时,它当前读取HT : 12.2C并且我希望它通过访问第二个数组中的相同位置并将脚本添加到工具提示的末尾来读取HT : 12.2C at 16:44 on 29 January 2013。我需要知道的是指针变量指向数组1中的位置1所以我可以使用它来访问数组2中的相应数据吗?

其他数据。

好的,我按照你的建议格式化了一个变量

var hightemp = new Array(
                         { y:12.2, time:"at 16:44 on 29 January 2013"},
                         { y:12.9, time:"at 13:58 on 29 February 2012"},
                         { y:22.7, time:"at 18:03 on 28 March 2012"},
                         { y:26.0, time:"at 17:44 on 21 April 2011"},
                         { y:29.8, time:"at 17:08 on 26 May 2012"},
                         { y:31.5, time:"at 17:22 on 26 June 2011"},
                         { y:33.5, time:"at 17:10 on 26 July 2012"},
                         { y:30.5, time:"at 17:06 on 10 August 2012"},
                         { y:25.1, time:"at 18:10 on 07 September 2012"},
                         { y:23.6, time:"at 14:55 on 01 October 2011"},
                         { y:15.2, time:"at 13:53 on 03 November 2011"},
                         { y:13.2, time:"at 14:13 on 22 December 2012"}
                        ); 

但是代码

        formatter: function() {
            return 'HT:'+ this.y + this.x + this.time;
工具提示中的

提供了HT:12.2Janundefined,因此找到了y& x但不是上面数组中的时间

如您所建议的那样使用point.x代码不会产生任何效果。

1 个答案:

答案 0 :(得分:0)

您不需要两个阵列。格式化您的数据点如下:

[{ y:12.2, text:"at 16:44 on 29 January 2013"},
 { y:12.9, text:"at 13:58 on 29 February 2012"}
...
 ]

在工具提示功能中,您现在可以访问y点和文本属性。使用工具提示的示例是http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/tooltip/formatter-simple/

如果按照我的建议设置你的分数,你可以在格式化函数中引用this.point.text。