2015-05-20 2 views
0

Я использую highcharts, и я бы хотел настроить подсказку. В моей подсказке должно отображаться reqName и reqVersion, но в настоящее время всплывающая подсказка показывает все значения массива tipValue.Highchart tooltip customization

Когда я наведите курсор мыши на колонке он показывает мне подсказку на каждой колонке, как (1.1,1.0,1.2,1.2)

where as I would like the tooltip to show version 
1.1 for column tpReq 
1.0 for column opReq 
1.2 for column Rex 
1.2 for column tpReq 

My xVaue is an array of ['tpReq','opReq','Rex','tpReq'] 
My yValue is an array of [5,8,5,1] 
My tipValue is an array of ['1.1','1.0','1.2','1.2'] 

Вот моя функция, чтобы нарисовать Highcharts

function drawchar(myXAxis,myYAxis,myTooltip) 
{ 
    var xValue = JSON.parse(XAxis); 
    var yValue = JSON.parse(YAxis); 
    var tipValue = JSON.parse(myTooltip); 

    var reqTypeChart = new HighCharts.Chart ({ 
    ... 
    ... 
    xAxis: { 
        categories: xValue, 
        title: { 'My Requests' 
         text: null 
        }, 

       }, 
       .... 
       series: [{ 
        name: 'Status', 
        data: yValue 
       }], 
       legend: { enabled: false }, 
       tooltip: { 
        formatter: function() { 
         return '<b>' + this.xValue + '</b><br/>' + 
           'IssueCount: ' + Highcharts.numberFormat(this.yValue, 0) + '</b><br/>' + 
           'AppVersion: ' + tipValue ; 
        } 

... 
}); 
} 
+0

В подсказке вам нужно ссылаться на конкретный индекс массива. –

ответ

1

Try это.

Объедините все три значения в один массив объектов и установите этот массив в качестве источника данных в серии highchart api. Вы получите переданный объект внутри метода форматирования всплывающей подсказки, заключенного в этот объект.

+0

Если я использую этот подход, я получаю прямую линию, без столбцов. Также я хотел бы, чтобы мой xAxis отображал «Имя запроса», которое находится в xValue. – user1651888

+0

попробуйте сортировать массив данных по алфавиту перед использованием. это должно решить проблему прямой линии. data.sort (функция (а, б) { , если (ах <Ьх) возвращают -1; , если (ах> BX) возвращение 1; возврат 0;} ) –

+0

для заголовка оси х положить значение «Запрос Имя 'ключевого текста xAsix> title –

0

Мне удалось решить эту проблему, изменив формула всплывающей подсказки. Поэтому сначала найдите индекс xValue и найдите соответствующее значение всплывающей подсказки из массива tipValue.

formatter: function() { 
      var index = xValue.indexOf(this.xValue); 
      var tip = tipValue[index]; 
      return '<b>' + this.xValue + '</b><br/>' + 
     'IssueCount: ' + Highcharts.numberFormat(this.yValue, 0) + '</b><br/>' + 
     'AppVersion: ' + tip ;