Highcharts设置yAxis min=0不生效问题求助
解决Highcharts 2.5.0 Y轴无法从0开始的问题
嘿,我太懂你这种明明代码看起来一模一样,结果一个正常一个抽风的郁闷了!结合你用的Highcharts 2.5.0这个老版本,我来帮你揪出问题所在:
先划重点:
floor属性在2.5.0里根本没用!
Highcharts的floor是3.0版本才加的新特性,你用的2.5.0完全不识别这个配置项,所以就算你写了floor:0也等于白忙活,直接删掉它就行。你可能搞混了图表库的初始化写法!
你写的new Chart(ctx, {...})是Chart.js的初始化方式,但你说用的是Highcharts——这俩库的配置结构完全不一样啊!Highcharts 2.5.0的正确初始化应该是new Highcharts.Chart(...),而且数据要放在series里,不是data.datasets(那是Chart.js的写法)。这很可能是导致Y轴配置不生效的核心原因!给你适配2.5.0的正确配置代码
把异常图表的代码改成下面这样试试:// 注意Highcharts的正确初始化方式 var myBarChart = new Highcharts.Chart({ chart: { renderTo: ctx, // 这里的ctx得是容器的DOM元素或者ID type: tipi[tipoGrafico] }, xAxis: { categories: nameArray, min: 0, startOnTick: true }, yAxis: { min: 0, startOnTick: true, // 强制Y轴从第一个刻度(也就是0)开始 title: { text: '' // 按需设置标题,留空也可以 } }, series: [{ name: 'Visite in '+ nomiMesi[idxMese]+' alla pagina: '+pag, data: valueArray, color: 'rgba(144, 0, 144, 0.5)' // Highcharts里用color设置柱形颜色,不是backgroundColor }] });这里几个关键调整:
- 用Highcharts原生的构造函数初始化
- Y轴保留
min:0,加上startOnTick: true,强制轴从0刻度启动 - 把数据移到
series数组里,用color设置柱形颜色(2.5.0里没有backgroundColor这个配置)
最后检查下你的数据
你可以先console.log(valueArray)看看数据是不是全大于2?虽然设置了min:0,但旧版本Highcharts偶尔会对全大于0的数据有“自作聪明”的调整,但加上startOnTick: true应该能强制它从0开始。另外也要确认数据里有没有null或者undefined,这些也可能干扰轴的计算。
内容的提问来源于stack exchange,提问作者Orionis
相关产品推荐
相关产品推荐

