2013-03-06 2 views
0

У меня есть диаграмма, которая отображает всевозможные данные о погоде, и она делает это правильно.highcharts shared tooltips pointer

Всплывающие подсказки отлично работают с данными внутри серии, но я хочу добавить дополнительные данные в виде дополнительного текста для каждого из другого массива данных.

Первый массив данных

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?

Дополнительные данные.

Ok Я отформатировал переменную как вы предложили

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, как вы предлагали, код производит nothin г.

ответ

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 в функции форматирования.

+0

Спасибо за ответ, но мои данные поступают из погодной программы и уже отформатированы, как я указал, и было бы очень много работать, чтобы переформатировать его. Невозможно просто указать на другой массив i.e hightempT [point]? – user2141834

+0

Попробуйте посмотреть значение точки x во всплывающей подсказке. Они могут указывать 0,1.2.3 и т. Д. – SteveP

+0

Не могли бы вы объяснить, что вы подразумеваете под этим? В функции всплывающей подсказки вы можете теперь получить доступ к точкам y и текстовым атрибутам. ", Пожалуйста? – user2141834

Смежные вопросы