2017-04-25 18 views
0

Canvas JSチャートがあり、値が0の場合はラベルを非表示にしたいと思います。私のデータポイントのうちの2つはゼロではありません。私JavaScriptは次のとおりです。CanvasJSグラフのラベルを非表示にしますか?

  var chart = new CanvasJS.Chart("chartContainer", 
      { 
       title:{ 
        text: "" 
       }, 
       legend: { 
        maxWidth: 350, 
        itemWidth: 120 
       }, 
       data: [ 
       { 
        type: "pie", 
        showInLegend: true, 
        toolTipContent: "${y} - #percent %", 
        dataPoints: [ 
         { y: debt, indexLabel: "Debt Payments" }, 
         { y: housing, indexLabel: "Housing" }, 
         { y: utilities, indexLabel: "Utilities" }, 
         { y: foodandsupplies, indexLabel: "Food and Supplies"}, 
         { y: transportation, indexLabel: "Transportation" }, 
         { y: health, indexLabel: "Health"}, 
         { y: otherDebts, indexLabel: "Other payments"} 
        ] 
       } 
       ] 
      }); 
      chart.render(); 

のJavaScriptの結果は次のとおりです。

Pie Chart

私はこれで任意の助けをいただければ幸いです。ありがとう!

答えて

1

あなたはグラフのオプションを通過すると、このようなすべてのdataPointsのための空の文字列としてindexLabelを設定することで、yの値としてゼロとdataPointsのためindexLabelsを非表示にすることができます。

はすなわちchart.render()チャートをレンダリングする前に、このコードスニペットを追加し、それが正常に動作する必要があります。

for(var i = 0; i < chart.options.data[0].dataPoints.length; i++) { 
if(chart.options.data[0].dataPoints[i].y === 0) 
    chart.options.data[0].dataPoints[i].indexLabel = ""; 
} 

希望します。

関連する問題