2013-03-21 2 views
-1

Я люблю инструмент подсказки функции высоких карт! Тем не менее, пока я могу отображать только данные из серии до наконечника инструмента, но не данные за пределами серии. Я подумывал добавить еще несколько серий, но эти добавленные серии попадут в диаграмму, чего я не хочу. Может ли кто-нибудь мне помочь? благодаря!Как использовать подсказку для отображения данных, которые не являются частью серии в высоких диаграммах?

ответ

0

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

jsFiddle Example

var extraVariable = "This is not part of the chart" 

var chart = new Highcharts.Chart({ 
    tooltip: { 
     formatter: function() { 
      return 'The value for <b>'+ this.x + 
       '</b> is <b>'+ this.y +'</b> I\'m also showing this: '+extraVariable; 
     } 
    }, 
+1

дорогой Бен: спасибо за отзыв. Но ваше решение на самом деле не решает мою проблему. Здесь этот «экстраварируемый» тип жестко закодирован и постоянен для каждой точки данных. Здесь я действительно хочу показать другую серию, которая является переменной для каждой точки данных. В теории я мог бы просто добавить еще одну серию, и они появятся в диаграмме. Но график был бы занят. В этом весь смысл добавлять дополнительную информацию к подсказке инструмента, и они появляются только тогда, когда это необходимо .... – user1824893

+0

извините, вы не поняли. Какие данные вы хотите отобразить в этой подсказке? –

+1

жаль, что не ясна. скажем, у меня две серии, которые построены на диаграмме: серия [{1,2,3,4,5}, {3,4,5,6,7}], в первой точке данных (1,3) Я хочу чтобы добавить букву A в качестве подсказки, во второй точке данных (2,4) я хочу добавить букву B в качестве подсказки. Обратите внимание, что [A, B, C, D, E] ассоциируется с двумя рядами данных, но не намечается. Как я могу [A, B, C, D, E] поговорить с двумя сериями чисел? – user1824893

2

подход я использую, чтобы это добавление дополнительного свойства в каждой серии точки данных:

series:[{ 
    name:"Example Series", 
    data:[{x:1,y:2,tt:"Tooltip for point 1"},{x:2,y:3,tt:"Tooltip for point 2"}] 
}] 

Эти свойства аддитивные доступны в контексте подсказке форматтера

tooltip: { 
    formatter: function() { 
     if(typeof this.point.tt != 'undefined'){ 
      return this.point.tt; 
     }else{ 
      return ''+this.x +'/'+ this.y +''; 
     }      
    } 
}, 

Если вы используете две массивы элементов для передачи ваши данные, вам придется преобразовать объекты в объекты x и y.

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