Chart.js v3中如何通过编程方式修改Y轴标签?
解决Chart.js v3中编程修改Y轴标签的问题
你的两种方法报错的原因如下:
myChart.scales.y.text=yaxislabel;:Y轴的标题文本并不直接在scales.y下,而是嵌套在title配置节点中myChart.options.scales[0].title.text=yaxislabel:Chart.js v3里options.scales是对象类型(键为x/y这类自定义轴ID),并非数组,所以用索引[0]会触发undefined错误
正确的修改方法
有两种可行的方式修改Y轴标题:
方法1:直接修改options配置
通过轴ID(此处为y)直接访问对应配置,更新title.text:
myChart.options.scales.y.title.text = yaxislabel;
方法2:通过图表的scales实例修改
如果要通过已初始化的轴实例修改,需要访问title.options.text路径:
myChart.scales.y.title.options.text = yaxislabel;
修改后的完整更新代码
替换你原来错误的两行代码,最终更新部分如下:
$yaxislabel = 'kg'; myChart.data.datasets[0].data = Object.values(varsdata); myChart.data.labels= Object.values(varslabels); myChart.data.datasets[0].label = chartdatalabel; // 二选一使用正确的修改方式 myChart.options.scales.y.title.text = yaxislabel; // 或者 myChart.scales.y.title.options.text = yaxislabel; myChart.update();
内容的提问来源于stack exchange,提问作者Mark Tait
相关产品推荐
相关产品推荐

