#javascript #svg #charts #chart.js #bar-chart
#javascript #svg #Диаграммы #chart.js #столбчатая диаграмма
Вопрос:
Мой текущий проект должен отображать такую графическую диаграмму.
В большинстве случаев Bar
элемент находится в середине двух вертикальных линий сетки, но в моем случае он должен быть в центре 1 вертикальной линии сетки.
Я искал примеры кодов и документы API, но я не смог найти решение для моего случая.
Возможно ли нарисовать такой вид диаграммы с Chart.js ?
Ответ №1:
Вы пытались установить GridLines.offsetGridLines в false? Все должно работать нормально. Ознакомьтесь с документацией здесь: https://www.chartjs.org/docs/latest/charts/bar.html#scale-configuration
options: {
scales: {
xAxes: [{
gridLines: {
offsetGridLines: false
}
}
}
}
Комментарии:
1. Спасибо. Я прочитал эту конфигурацию в документе, но я не смог ее четко понять. Вы спасли мой день.
2. Могу я задать вам еще один вопрос? Я попробовал
offsetGridLines: false
, и это работает хорошо, однако результат немного отличается от моего ожидаемого изображения. Каждая линия сетки должна находиться на одинаковом расстоянии от другой, ноoffsetGridLines: false
обрезает (?) начальную и последнюю линии сетки, поэтому расстояние имеет размер в половину ширины. (Извините, поскольку мой английский не профессиональный, трудно хорошо описать мою ситуацию.)3. Если возможно, не могли бы вы показать мне данные и конфигурацию chartjs, над которой вы сейчас работаете? У xAxes есть настройки для
categoryPercentage
,barThickness
иbarPercentage
для настройки размера полосы и разрыва между категориями. Если у вас есть более 1 категории и вы хотите, чтобы они были сложены, а не располагались рядом друг с другом, вы также можете установитьstacked: true
. Подробнее о масштабе для xaxes: chartjs.org/docs/latest/axes4. Спасибо за ответ, на самом деле я решил с помощью этой конфигурации:
options > scales > xAxes > offset: false
Немного расстраивает, что этой конфигурации нет даже в документе API.