From 1c0ff2080478fb0eb0a7211dcce60df3dedc4448 Mon Sep 17 00:00:00 2001 From: fenley <49503866+godfengliang@users.noreply.github.com> Date: Wed, 3 Jun 2026 12:12:59 +0800 Subject: [PATCH] fix: only count bar dataset axes in bar width calculation for multiple x-axis --- src/controllers/controller.bar.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/controllers/controller.bar.js b/src/controllers/controller.bar.js index 554497b3053..877a241906c 100644 --- a/src/controllers/controller.bar.js +++ b/src/controllers/controller.bar.js @@ -499,7 +499,12 @@ export default class BarController extends DatasetController { _getAxis() { const axis = {}; const firstScaleAxisId = this.getFirstScaleIdForIndexAxis(); - for (const dataset of this.chart.data.datasets) { + for (let i = 0; i < this.chart.data.datasets.length; i++) { + const meta = this.chart.getDatasetMeta(i); + if (meta.type !== this._type) { + continue; + } + const dataset = this.chart.data.datasets[i]; axis[valueOrDefault( this.chart.options.indexAxis === 'x' ? dataset.xAxisID : dataset.yAxisID, firstScaleAxisId )] = true;