2014-02-21 1 views
0

Я бы хотел, чтобы метки данных оси Y возвращали 'N/A' для нулевых значений. В настоящее время ничего не отображается. Я попытался использовать функцию y-formatter, чтобы сказать, что значение y равное null, возвращает N/A, но почему-то не повезло? Я несколько новичок в Highcharts, поэтому, пожалуйста, простите основную суть вопроса.Highcharts: Возвращаемое значение N/A вместо 0% в метке данных

formatter: function() { 
        if (this.y !== null) 
         return 'test'; 

        var chart = this.series.chart; 

        chart.renderer.text('n/a', this.point.plotX - 10, chart.plotHeight - 10).add(this.series.group) 
       }, 

Вот ссылка на JSFiddle: http://jsfiddle.net/v5vJR/

ответ

1

format Удалить из ваших вариантов dataLabels. Затем вам нужно правильно рассчитать, где поставить эту метку. plotY будет undefined, так как нет никакой ценности, правильно?

  formatter: function() { 
       var str; 
       if (this.y !== null) { 
        return this.y + '%'; 
       } else { 
        var chart = this.series.chart, 
         categoryWidth = chart.plotHeight/chart.xAxis[0].categories.length, 
         offset = (this.point.x + 1) * categoryWidth - this.point.pointWidth + 3; // 

        chart.renderer.text('n/a', chart.plotLeft, chart.plotTop + offset).add(); 
       } 

       return false; 
      }, 

Демо: http://jsfiddle.net/v5vJR/3/

+0

Благодаря Pawel. Мой единственный вопрос заключается в том, как заставить ярлык форматировать другие dataLabels. Я попробовал включить HTML, а затем использовал класс span, но это, похоже, не работает. chart.renderer.text ("" + 'N/A' + "", chart.plotLeft, chart.plotTop + offset) .add(); – mtown

+0

Попробуйте добавить один параметр в текст (..., true) .add() '- он должен принудительно отобразить элемент как объект HTML. –

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