2016-08-30 4 views
1

У меня есть этот код, который скрывает число внутри метки, если значение равно нулю. Моя проблема в том, что я также хочу скрыть номер суммы, отображаемый над столбцом.Скрыть стек стека, если он равен нулю

Вот, например, последний ярлык. http://jsfiddle.net/4NxYh/72/

plotOptions: {      
    line: {dataLabels: {enabled: true, style: {fontSize: '8px'}, style: {textShadow: false}, allowDecimals: true, formatter: function() {return this.y + 'e'}}}, 
    column: {stacking: 'normal', shadow: false, dataLabels: { 
         formatter:function() { 
          if(this.y != 0) { 
           return this.y; 
          } 
         }, 
         enabled: true, 
         color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white', 
         style: { 
          textShadow: '0 0 3px black', 
          fontSize: '8px' 
         } 
        }}, 
    series: {minPointLength: 0} 

},

ответ

1

Для того, чтобы скрыть стек суммы, когда общее число равно нулю, то можно применить подобный вариант вашего dataLabels форматировщиком к атрибуту stackLabels (см также this Stack Overflow question, что говорит о том, форматирование stackLabels).

stackLabels: { 
    enabled: true, 
    formatter: function(){ 
     var val = this.total; 
     if (val > 0) { 
      return val; 
     } 
     return ''; 
    }, 
    style: { 
     fontWeight: 'bold', 
     color: (Highcharts.theme && Highcharts.theme.textColor) || 'gray' 
    } 
}, 

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

Вот обновленная версия вашей скрипкой с этим изменением: http://jsfiddle.net/brightmatrix/4NxYh/76/

Я надеюсь, что это полезно для вас!

+1

Спасибо, Майк, очень полезно! – Andy

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