You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Chart.js中条形宽度一致,分组宽度可变?

问题:Chart.js分组条形图实现固定条形宽度、可变分组宽度(跳过空值)

我使用Chart.js创建了一个包含多数据集的条形图,通过skipNull配置隐藏空值对应的条形。目前图表中每个月份分组的宽度是固定的,导致组内条形数量越多,单个条形宽度越窄。我需要实现所有条形宽度保持一致,分组宽度根据组内实际存在的条形数量自动变化(条形多的分组更宽,少的分组更窄)。

当前代码

JavaScript 代码

const data = {
  labels: ['January', 'February', 'March'],
  datasets: [
    {
      label: 'Dataset 1',
      data: [3, null, null],
      skipNull: true,
    },
    {
      label: 'Dataset 2',
      data: [1, 2, null],
      skipNull: true,
    },
    {
      label: 'Dataset 3',
      data: [4, 1, 3],
      skipNull: true,
    },
  ],
};

new Chart(
  document.querySelector('#chart'),
  {
    type: 'bar',
    data: data,
  }
)

HTML 代码

<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.4.1/chart.umd.js"></script>
<canvas width="500" height="100" id="chart"></canvas>

期望效果

期望的图表效果

我尝试过调整barPercentage和barThickness参数,但这两个设置对分组宽度没有产生预期影响。


内容的提问来源于stack exchange,提问作者Michał Perłakowski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 10:20:05