Гистограммы – популярный способ визуального представления данных. Они дают четкий обзор различных категорий и соответствующих им значений. В этой статье блога мы рассмотрим различные методы отображения чисел поверх столбцов с помощью Chart.js, мощной библиотеки JavaScript для визуализации данных.
Метод 1: использование плагина datalabels:
Chart.js предоставляет плагин под названием datalabels, который позволяет нам легко отображать метки поверх столбцов. Сначала включите скрипт chartjs-plugin-datalabelsв свой HTML-файл. Затем настройте плагин в параметрах диаграммы, как показано ниже:
const chartOptions = {
plugins: {
datalabels: {
anchor: 'end',
align: 'top',
formatter: function(value) {
return value;
}
}
}
};
Метод 2. Настройка всплывающей подсказки панели.
Другой подход заключается в настройке всплывающей подсказки панели для отображения значений поверх панелей. По умолчанию Chart.js показывает всплывающие подсказки при наведении курсора на столбцы. Мы можем изменить содержимое всплывающей подсказки, включив в нее значения.
const chartOptions = {
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
return data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
}
}
}
};
Метод 3: использование хука afterDraw:
Chart.js предоставляет различные хуки, которые позволяют нам выполнять специальные действия на разных этапах процесса отрисовки диаграммы. Мы можем использовать хук afterDraw, чтобы вручную рисовать числа поверх столбцов. Вот пример:
const chartOptions = {
plugins: [],
animation: {
onComplete: function() {
const chartInstance = this.chart;
const ctx = chartInstance.ctx;
ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontSize, 'normal', Chart.defaults.global.defaultFontFamily);
ctx.fillStyle = "black";
ctx.textAlign = 'center';
ctx.textBaseline = 'bottom';
this.data.datasets.forEach(function(dataset, i) {
const meta = chartInstance.controller.getDatasetMeta(i);
meta.data.forEach(function(bar, index) {
const data = dataset.data[index];
ctx.fillText(data, bar._model.x, bar._model.y - 5);
});
});
}
}
};
В этой статье мы рассмотрели три различных метода отображения чисел поверх столбцов в Chart.js. В первом методе используется плагин datalabels, который обеспечивает удобный способ добиться этого. Второй метод включает в себя настройку всплывающих подсказок панели для включения значений. Наконец, мы использовали хук afterDraw, чтобы вручную нарисовать числа поверх полос.
Применив эти методы, вы сможете улучшить визуальное представление своих гистограмм и предоставить аудитории четкую информацию.