Невозможно разделить всплывающие подсказки chart.js на круговой диаграмме, поэтому каждая подсказка идентична - PullRequest
0 голосов
/ 25 октября 2019

Это мой первый раз, когда я использую такие вещи, но моя круговая диаграмма, которую я сделал, не соответствовала профессиональному виду, который я искал.

Я работаю над страницей финансов, которая берет имена исуммы расходов и помещает их в круговую диаграмму, которая отображает процент от каждого расхода.

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

Проблема, с которой я сталкиваюсь, заключается в том, что при использовании этих функций:

label: function(tooltipItem, data) {
          let integerData = []
          let percentages = []
          let label = myChart.data.datasets[tooltipItem.datasetIndex.label] || '';
          if (label) {
            label += ': '
          }
          for (var i = 0; i < data.datasets[0].data.length; i++) {
            let conversion = parseInt(data.datasets[0].data[i])
            integerData.push(conversion)
          }
          for (var i = 0; i < integerData.length; i++) {
            let totalValue = integerData.reduce((total, amount) => total + amount);
            let valuePct = parseFloat((integerData[i] / totalValue) * 100).toFixed(2) + "%";
            percentages.push(valuePct)
          }
          label = percentages;
          return label;
        }

Является ли каждая секция всплывающих подсказок круговой диаграммы, они отображают все проценты и не разделяютв его соответствующие разделы.

Я пытался получить доступ к индексу меток и даже пошел в корень, чтобы посмотреть, смогу ли я найти, как метки применяются к каждому разделу, но безрезультатно.

Я просматривал онлайн, но в основном я нахожу людей, которые просто хотят создать свои собственные всплывающие подсказки.

Есть ли способ нацелить каждый раздел и применить всплывающие подсказки к тому, который мне нуженбыть прикрепленным к?

Заранее спасибо.

...