Как мне ввести строку во всплывающей подсказке в Chart.js? - PullRequest
1 голос
/ 08 июня 2019

Я хотел бы добавить символ «%» к данным результатов всплывающей подсказки.Как мы можем настроить его?

<script>
    var ctx = document.getElementById('myChart').getContext('2d');
    var myChart = new Chart(ctx, {
        type: 'pie',
        data: {
            labels: ['@lang('home/main.korea')', '@lang('home/main.japan')'],
            datasets: [{
                label: [

                ],
                data: [
                    {!! $koreaPercent !!} ,
                    {!! $japanPercent !!} ,
                ],
                backgroundColor: [
                    'red',
                    'blue',
                ],
            }]
        },
        options: {
        }
    });

</script>

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

enter image description here

Ответы [ 2 ]

1 голос
/ 08 июня 2019

Как-то так должно решить вашу проблему:

<script>
    var ctx = document.getElementById('myChart').getContext('2d');
    var myChart = new Chart(ctx, {
        type: 'pie',
        data: {
            labels: ['@lang('home/main.korea')', '@lang('home/main.japan')'],
            datasets: [{
                label: [

                ],
                data: [
                    {!! $koreaPercent !!} ,
                    {!! $japanPercent !!} ,
                ],
                backgroundColor: [
                    'red',
                    'blue',
                ],
            }]
        },
        options: {
            tooltips: {
                enabled: true,
                mode: 'single',
                callbacks: {
                    label: function(tooltipItems, data) { 
                        return tooltipItems.yLabel + tooltipItems.xLabel + " %";
            }
        }
    });

</script>

вот рабочий пример с другими данными, так как я не знаю, как вы используете свой график: https://jsfiddle.net/mateusjunges/f8x394va/2/

Надеюсь, это поможет.

0 голосов
/ 09 июня 2019

Это должно работать правильно:

Создайте холст для своего графика:

<canvas id="myChart"></canvas>

Это необходимый код JavaScript:

var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
  type: 'pie',
  data: {
    labels: ["Green", "Blue", "Gray", "Purple", "Yellow", "Red", "Black"],
    datasets: [{
      backgroundColor: [
        "#2ecc71",
        "#3498db",
        "#95a5a6",
        "#9b59b6",
        "#f1c40f",
        "#e74c3c",
        "#34495e"
      ],
      data: [12, 19, 3, 17, 28, 24, 7]
    }]
  },
  options: {
      tooltips : {

      callbacks : { 
        label : function(tooltipItem, data) {
          var dataset = data.datasets[tooltipItem.datasetIndex];
                  return  dataset.data[tooltipItem.index] + ' %';
                },
        },
      },
  }
});

И это Charts.js cdn, который я использовал.

Вот результат:

https://imgur.com/gallery/3KszJQY

Это рабочая скрипка JS.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...