2016-08-30 6 views
1

値がゼロの場合、ラベル内の数値を非表示にするこのコードがあります。私の問題は、列に表示されている総数を隠したいということです。ゼロの場合はstacklabelを非表示にします

最後のラベルの例を示します。 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

合計数がゼロの場合、スタックの合計を隠すために、あなたも語るthis Stack Overflow questionを参照してください(stackLabels属性にごdataLabelsフォーマッタの同様のバリアントを適用することができます書式設定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

関連する問題