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

Chart.js 3.x单数据集水平柱状图如何在上下两侧同时显示X轴

问题原因

你当前定义的x和x1是两个完全独立的X轴,只有默认的x轴绑定了数据集,会根据数据集的数值范围自动计算刻度,而x1轴没有绑定任何数据源,也没有和已有X轴做关联,默认使用0-1的刻度区间,自然和底部X轴的数值不匹配。

解决方法

Chart.js 3.x 提供了linkedTo刻度配置项,可以直接将新增的X轴和原有X轴绑定,自动同步刻度范围、步长等所有配置,不需要修改原有数据集,单数据集场景下也可以正常使用。

你只需要在原有配置的x1轴配置中增加linkedTo: 'x',同时可以关闭新增轴的网格线绘制,避免和原有网格线重复,修正后的完整代码如下:

new Chart('myChart', {
  type: 'line',
  data: {
    labels: ['A', 'B', 'C', 'D', 'E', 'F'],
    datasets: [{    
      data: [1, 3, 6, 2, 8, 9],
      borderColor: '#00D',
    }]
  },
  options: {
    indexAxis: "y",
    scales: {
      x: {},
      x1: {
        position: 'top',
        linkedTo: 'x', // 和底部X轴绑定,自动同步刻度
        grid: {
          drawOnChartArea: false // 不重复绘制网格线
        }
      }
    }
  }
});
canvas {
  max-height: 180px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.5.1/chart.min.js"></script>
<canvas id="myChart"></canvas>

配置完成后,顶部X轴会和底部X轴的刻度完全同步,符合使用需求,该方案同样适用于水平柱状图等其他需要双X轴的单数据集场景。

内容的提问来源于stack exchange,提问作者intrepiddrain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 07:09:03