Номера меток Vue-диаграмм сбоку столбчатой диаграммы

#vue.js #chart.js #nuxt.js #chartjs-2.6.0 #vue-chartjs

Вопрос:

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

введите описание изображения здесь

Теперь мои параметры на диаграмме выглядят так.

 barLostDollarChartOptions: {
    responsive: true,
    maintainAspectRatio: false,
    legend: {
      display: false,
    },
    title: {
      display: true,
      text: 'Daily NP Opportunity Costs'
    },
    scales: {
      yAxes: [{
        //Sets the Max value after re-rendering chart
        beforeFit: function (scale){
          let maxValue = 0
          if (scale.chart.config amp;amp; scale.chart.config.data amp;amp; scale.chart.config.data.datasets) {
            scale.chart.config.data.datasets.forEach(dataset => {
              if (dataset amp;amp; dataset.data) {
                dataset.data.forEach(value => {
                  if (value > maxValue) {
                    maxValue = value
                  }
                })
              }
            })
          }
          // After, set max option !!!
          scale.options.ticks.max = maxValue
        },
        // afterFit: function (scale){
        //   console.log('yAxes',scale)
        //   let arr = Object.values(scale.chart.config.data.datasets[0].data);
        //   let min = Math.min(...arr);
        //   let max = Math.max(...arr);
        //   maxValueArray.push(max)
        //   // console.log( `Min value: ${min}, max value: ${max}` );
        //
        // }
      }
      ],
      xAxes: [{
        ticks:{
          callback: function(value, index, values) {
            if(parseInt(value) >= 1000){
              // console.log(value.toString().replace(/B(?=(d{3}) (?!d))/g, ","))
              return '

Но я пытаюсь понять, есть ли способ перезвонить по номеру и отобразить его рядом с баром? есть какие-нибудь идеи?


Ответ №1:

Для этого вы можете использовать плагин datalabels:

 Chart.plugins.register(ChartDataLabels);

var options = {
  type: 'horizontalBar',
  data: {
    labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
    datasets: [{
      label: '# of Votes',
      data: [12, 19, 3, 5, 2, 3],
      backgroundColor: 'orange'
    }]
  },
  options: {
    plugins: {
      datalabels: {
        anchor: 'end',
        align: 'end',
        formatter: (val) => ('

 <body>
  <canvas id="chartJSContainer" width="600" height="400"></canvas>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/1.0.0/chartjs-plugin-datalabels.js"></script>
</body> 


Комментарии:

1. Мы можем использовать это в сочетании с vue-диаграммами?

2. Да, ты можешь просто отлично

3. Должен ли я заменить текущую настройку подключаемым модулем или просто ввести ее? (Например, то, что у меня есть в примере)

4. Просто убедитесь, что у вас установлена версия 1 плагина datalabels, так как более поздние версии предназначены для chart.js v3, убедитесь, что вы зарегистрировали его, как я сделал в первой строке снипета, а затем скопируйте plugins раздел объекта параметров в свой собственный объект параметров

value.toString().replace(/B(?=(d{3}) (?!d))/g, ",");
} else {
return 'Но я пытаюсь понять, есть ли способ перезвонить по номеру и отобразить его рядом с баром? есть какие-нибудь идеи?

Ответ №1:

Для этого вы можете использовать плагин datalabels:



Комментарии:

1. Мы можем использовать это в сочетании с vue-диаграммами?

2. Да, ты можешь просто отлично

3. Должен ли я заменить текущую настройку подключаемым модулем или просто ввести ее? (Например, то, что у меня есть в примере)

4. Просто убедитесь, что у вас установлена версия 1 плагина datalabels, так как более поздние версии предназначены для chart.js v3, убедитесь, что вы зарегистрировали его, как я сделал в первой строке снипета, а затем скопируйте plugins раздел объекта параметров в свой собственный объект параметров

value;
}
},
},
}]
}
},
Но я пытаюсь понять, есть ли способ перезвонить по номеру и отобразить его рядом с баром? есть какие-нибудь идеи?

Ответ №1:

Для этого вы можете использовать плагин datalabels:



Комментарии:

1. Мы можем использовать это в сочетании с vue-диаграммами?

2. Да, ты можешь просто отлично

3. Должен ли я заменить текущую настройку подключаемым модулем или просто ввести ее? (Например, то, что у меня есть в примере)

4. Просто убедитесь, что у вас установлена версия 1 плагина datalabels, так как более поздние версии предназначены для chart.js v3, убедитесь, что вы зарегистрировали его, как я сделал в первой строке снипета, а затем скопируйте plugins раздел объекта параметров в свой собственный объект параметров

val)
}
}
}
}

var ctx = document.getElementById('chartJSContainer').getContext('2d');
new Chart(ctx, options);


Комментарии:

1. Мы можем использовать это в сочетании с vue-диаграммами?

2. Да, ты можешь просто отлично

3. Должен ли я заменить текущую настройку подключаемым модулем или просто ввести ее? (Например, то, что у меня есть в примере)

4. Просто убедитесь, что у вас установлена версия 1 плагина datalabels, так как более поздние версии предназначены для chart.js v3, убедитесь, что вы зарегистрировали его, как я сделал в первой строке снипета, а затем скопируйте plugins раздел объекта параметров в свой собственный объект параметров

value.toString().replace(/B(?=(d{3}) (?!d))/g, «,»);
} else {
return ‘

Но я пытаюсь понять, есть ли способ перезвонить по номеру и отобразить его рядом с баром? есть какие-нибудь идеи?

Ответ №1:

Для этого вы можете использовать плагин datalabels:



Комментарии:

1. Мы можем использовать это в сочетании с vue-диаграммами?

2. Да, ты можешь просто отлично

3. Должен ли я заменить текущую настройку подключаемым модулем или просто ввести ее? (Например, то, что у меня есть в примере)

4. Просто убедитесь, что у вас установлена версия 1 плагина datalabels, так как более поздние версии предназначены для chart.js v3, убедитесь, что вы зарегистрировали его, как я сделал в первой строке снипета, а затем скопируйте plugins раздел объекта параметров в свой собственный объект параметров

value;
}
},
},
}]
}
},

Но я пытаюсь понять, есть ли способ перезвонить по номеру и отобразить его рядом с баром? есть какие-нибудь идеи?

Ответ №1:

Для этого вы можете использовать плагин datalabels:



Комментарии:

1. Мы можем использовать это в сочетании с vue-диаграммами?

2. Да, ты можешь просто отлично

3. Должен ли я заменить текущую настройку подключаемым модулем или просто ввести ее? (Например, то, что у меня есть в примере)

4. Просто убедитесь, что у вас установлена версия 1 плагина datalabels, так как более поздние версии предназначены для chart.js v3, убедитесь, что вы зарегистрировали его, как я сделал в первой строке снипета, а затем скопируйте plugins раздел объекта параметров в свой собственный объект параметров