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

Chart.js中mirror显示Y轴刻度后X轴起始位置调整问题

解决Chart.js Y轴镜像刻度与X轴重叠问题

要解决Y轴使用mirror选项后X轴被刻度覆盖的问题,可以通过以下几种方式调整:

方法一:给X轴添加左侧内边距

在X轴的配置中新增padding属性,设置合适的左侧内边距值,让X轴整体向右偏移,避开Y轴的镜像刻度:

x: {
  stacked: true,
  grid: {
    display: false,
    drawBorder: false
  },
  ticks: {
    color: '#333',
    font: {
      weight: 'bold'
    },
    maxRotation: 0,
    maxTicksLimit: this.loadLabels()?.length / 2
  },
  bounds: 'ticks',
  padding: { left: 40 } // 根据刻度实际宽度调整数值
}

方法二:调整Y轴刻度的内边距

如果希望镜像刻度更贴近Y轴,减少横向占用空间,可以调整Y轴ticks的padding属性,间接避免与X轴重叠:

y: {
  type: 'linear',
  beginAtZero: true,
  stacked: true,
  title: {
    display: false,
  },
  display: true,
  grid: {
    display: true,
    drawBorder: false,
    lineWidth: 1,
    borderColor: 'rgb(244, 244, 244, 0.7)',
    color: 'rgb(244, 244, 244, 0.7)'
  },
  ticks: {
    display: true,
    maxTicksLimit: 5,
    mirror: true,
    padding: 10, // 控制刻度与Y轴的距离,缩小横向占用
    callback: (val) => formatCurrency(+val, 'it', getCurrencySymbol(this.currency, 'narrow'), this.currency)
  }
}

方法三:调整全局布局内边距

如果前两种方法效果不够,还可以给整个图表添加左侧全局内边距,留出足够空间容纳镜像刻度:

options: {
  layout: {
    padding: { left: 50 } // 全局左侧内边距,按需调整
  },
  scales: {
    // 轴配置...
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 23:30:46