
chart.js 默认会渲染 x/y 坐标轴的轴线(axis line),即使隐藏了网格线和刻度,y 轴仍可能残留一条可见边框;只需将 `scales.y.display` 设为 `false` 即可完全移除该轴及其线条。
在 Chart.js(v3.x+)中,“坐标轴边框”通常指坐标轴本身的线条(即 axis line),它独立于网格线(grid lines)和刻度(ticks)存在。你已在配置中正确设置了 grid.display: false 和 grid.showBorder: false,但这仅影响网格,不会隐藏坐标轴主轴线。
关键点在于:scales.x 和 scales.y 对象中的 display 属性控制的是整个坐标轴的可见性(包括轴线、刻度标签、标题等)。因此,要彻底消除 Y 轴的边框(即那条垂直的深色线),必须显式关闭 Y 轴显示:
scales: {
x: {
display: true, // 可选:保留 X 轴(如需)
grid: { display: false },
ticks: { color: '#2D4059', font: { size: 14, family: 'Lexend-SemiBold' } }
},
y: {
display: false, // ✅ 核心修复:禁用整个 Y 轴(含轴线)
grid: { display: false },
ticks: { display: false }
}
}⚠️ 注意事项:
- showBorder: false 在 grid 配置中已被废弃(v3.0+),实际无效,无需保留;
- 若需保留 Y 轴刻度但仅隐藏轴线,目前 Chart.js 不支持单独隐藏轴线而不影响其他元素(如需高级定制,可借助 afterDraw 插件手动清除 canvas 线段,但通常不推荐);
- X 轴同理:若也要隐藏其底部横线,同样设置 scales.x.display = false;
- 确保使用的是 Chart.js v3.7+(推荐 v4.x),旧版本 API 存在差异(如 yAxes 数组写法已弃用)。
最终精简后的 scales 配置示例:
scales: {
x: {
display: true,
grid: { display: false },
ticks: { color: '#2D4059', font: { size: 14, family: 'Lexend-SemiBold' } }
},
y: { display: false } // 一行解决,干净利落
}这样即可实现真正“无边框”的极简图表视觉效果,适用于仪表盘、KPI 卡片等强调数据本身的设计场景。










