2015-01-02 5 views
1

Я отредактировал график с использованием высоких диаграмм, и теперь я хочу показать некоторый текст на последней метке данных с фактическим значением.Таблицы данных форматирования Highcharts

здесь является jsfiddle Отредактируйте

http://jsfiddle.net/3h7x9jst/2/

Код:

$(function() { 
$('#container').highcharts({ 
    chart: { 
     type: 'line' 
    }, 
    title: { 
     text: '' 
    }, 
    credits:{ 
     enabled:false 
    }, 
    subtitle: { 
     text: '' 
    }, 
    xAxis: { 
     categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul'] 
    }, 
    yAxis: { 
     min:0, 
     max:100, 
     title: { 
      text: 'Score (%)' 
     }, 
     labels:{ 
      enabled:false 
     } 
    }, 
    legend:{ 
     enabled:false 
    }, 
    plotOptions: 
    { 
     line: 
     { 
      lineWidth:2, 
      dataLabels: 
      { 
       enabled: true, 
       formatter:function() 
       { 
        var pcnt = (this.y); 
        return Highcharts.numberFormat(pcnt,0) + '%'; 
       } 
      }, 
      enableMouseTracking: true 
     } 
    }, 
    series: [{ 
     name: 'Tokyo', 
     data: [7.0, 6.9, 9.5, 30, 7.4, 21.5, 6] 
    }] 
}); 
}); 

На этом графике последний этикеточной данные 6%. Я хочу отображать abc 6% без изменения покоя.

Что может быть возможным решением? Любая помощь

+0

вы получаете данные программно? Знаете ли вы, сколько значений будет построено? –

+0

Да, я получаю данные динамически в массиве. – DDay

ответ

2

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

Я обновил свой скрипку: http://jsfiddle.net/3h7x9jst/3/

Logic:

  • Вы имеете, чтобы получить количество массива & сохранить его в переменной в

  • JQuery (CNT). Инициализация переменной указателя (PNTR) до 0 значения Увеличивают

  • PNTR всегда в форматтера функции проверки, если это PNTR равно графу

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

Код:

$(function() { 
var cnt = 7; // Count of the array should be here 
var pntr = 0; 
$('#container').highcharts({ 
    chart: { 
     type: 'line' 
    }, 
    title: { 
     text: '' 
    }, 
    credits:{ 
     enabled:false 
    }, 
    subtitle: { 
     text: '' 
    }, 
    xAxis: { 
     categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul'] 
    }, 
    yAxis: { 
     min:0, 
     max:100, 
     title: { 
      text: 'Score (%)' 
     }, 
     labels:{ 
      enabled:false 
     } 
    }, 
    legend:{ 
     enabled:false 
    }, 
    plotOptions: 
    { 
     line: 
     { 
      lineWidth:2, 
      dataLabels: 
      { 
       enabled: true, 
       formatter:function() 
       { 
        pntr++; 
        var pcnt = (this.y); 
        if(pntr == cnt) 
        { 
         return 'Your Text Here' + Highcharts.numberFormat(pcnt,0) + '%'; 
        }else{ 
         return Highcharts.numberFormat(pcnt,0) + '%'; 
        } 
       } 
      }, 
      enableMouseTracking: true 
     } 
    }, 
    series: [{ 
     name: 'Tokyo', 
     data: [7.0, 6.9, 9.5, 30, 7.4, 21.5, 6] 
    }] 
}); 
}); 
+1

Спасибо! Я также применил ту же логику при изменении цвета последней DataPoint. Но когда я применяю к функции форматирования, он не отображает ничего. Я проверил, что делал синтаксические ошибки. Спасибо, это сработало! – DDay

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