2017-07-24 47 views
0

我成功顯示了從Chart.js開始的餅圖。如果我懸停給定的切片,它也將返回標籤以及值。如何操作Chart.js餅圖的特定工具提示值?

但是,價值不是非常人性化;我想將其轉換爲另一個值,對用戶更易於理解。

如何訪問給定切片的工具提示值?我似乎只能得到他們。

示例代碼:

this.examplePieChart = new Chart(ctx1,{ 
     type: 'pie', 
     data: { 
      labels: byteLabels, 
      datasets: [ 
       { 
        label: 'bytes', 
        data: BytesArr, 
        backgroundColor: defaultChartColors, 
       }, 
      ] 
     }, 
     options: { 
      tooltips: { 
       mode: 'label', 
      } 
     } 
    }); 

我可以訪問工具提示數據的所有值,我的嘗試是這樣的:

  tooltips: { 
       mode: 'label', 
       callbacks: { 
        label: function (tooltipItem, data) { 
         let tmpArr = []; 
         for(let i = 0; i < data.datasets[0].data.length; i++){ 
          tmpArr.push(data.datasets[0].data[i].fileSize()); 
         } 
         return tmpArr; 
        } 
       } 
      } 

如果我運行fileSize()以字節轉換爲MIB /昆明植物研究所。它可以工作 - 但是,當懸停一個切片時,它會顯示任何給定切片上的所有工具提示,而不是我正在盤旋的那個切片。

如何訪問餅圖中單個給定切片的數據值並對其進行操作?目前,我只能使用data值訪問它們,它返回整個數組。

如果沒有上面的回調,我成功地展示label: value,但我想操縱每個片這種特定的值 - 不是所有的值一次:O)

回答

0
到底

,它可以像這樣訪問:

 tooltips: { 
      mode: 'label', 
      callbacks: { 
         const currentValue = dataset.data[tooltipItem.index]; 
         return currentValue.fileSize(); 
       } 
      } 
     } 
相關問題