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

ChartJs右侧Y轴配置:刻度仅显示半长且覆盖全数值范围

实现Chart.js右侧Y轴刻度仅显示在轴长一半区域且覆盖全数值区间

需求:让Chart.js的右侧Y轴(y1轴)刻度仅展示在轴长度的一半范围内,同时确保刻度覆盖该轴的全部数值区间。

修改后的Y轴配置代码如下:

y1: {
  type: 'linear',
  position: 'right',
  title: {
    display: true,
    text: document.getElementById('inputY1Title').value || 'Energy Absorption (kNm)',
    font: {
      size: 16,
      weight: 'bold',
      family: "'Noto Sans SC', 'SimHei', sans-serif"
    },
    color: 'black',
  },
  grid: {
    drawOnChartArea: false
  },
  // 调整轴的显示区域,让刻度仅占轴长一半
  afterFit: function(scale) {
    // 将轴高度压缩为原高度的一半(示例为显示在上半部分)
    scale.height = scale.height / 2;
    // 保持轴顶部位置不变,刻度会集中在上半区域
    scale.top = scale.top;
  },
  // 确保刻度覆盖全部数值区间
  ticks: {
    autoSkip: false,
    maxRotation: 0
  }
}

关键配置说明:

  • afterFit回调:在轴完成尺寸计算后修改其显示区域。上述代码将轴高度减半,保持顶部位置不变,刻度就会集中在轴的上半部分;若要显示在下半部分,只需把scale.top改为scale.top + scale.height(此时height已为减半后的值)。
  • ticks中的autoSkip: false:强制显示所有必要刻度,避免因空间不足自动跳过,保证数值区间的完整覆盖;maxRotation: 0让刻度文字水平显示,避免排版混乱。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 22:32:10