Chart.js Y轴配置不生效,如何强制设置固定最小与最大值
解决方案
- 替换轴范围参数
suggestedMin、suggestedMax属于建议阈值,仅当数据本身的取值范围没有超出该阈值时才会生效,无法实现强制锁定轴范围的效果。要固定Y轴最小/最大值,直接使用ticks.min和ticks.max参数即可。 - 补全Y轴ID匹配
你在数据集里指定了yAxisID: 'yAxes',但Y轴的配置项中没有声明对应的id属性,导致轴配置无法匹配到对应数据集,补充ID即可生效。
修正后的配置示例(适配你当前用的Chart.js v2版本写法)
var areaChartOptions = { showScale : true, scaleShowGridLines : false, scaleGridLineColor : 'rgba(0,0,0,.05)', scaleGridLineWidth : 1, scaleShowHorizontalLines: true, scaleShowVerticalLines : true, bezierCurve : true, bezierCurveTension : 0.3, pointDot : false, pointDotRadius : 4, pointDotStrokeWidth : 1, pointHitDetectionRadius : 20, datasetStroke : true, datasetStrokeWidth : 2, datasetFill : true, legendTemplate : '<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span style="background-color:<%=datasets[i].lineColor%>"></span><%if(datasets[i].label){%><%=datasets[i].label%><%}%></li><%}%></ul>', maintainAspectRatio : true, responsive : true, scales: { yAxes: [{ id: 'yAxes', // 补充和dataset匹配的ID ticks: { min: 0, // 强制Y轴最小值 max: 100 // 强制Y轴最大值 } }] } }
如果你使用的是Chart.js v3及以上版本,轴配置写法调整为:
scales: { y: { id: 'yAxes', min: 0, max: 100 } }
内容的提问来源于stack exchange,提问作者omega1
相关产品推荐
相关产品推荐

