chart.js:隐藏y轴中的特定刻度并隐藏所有x轴网格线

时间:2016-05-21 13:28:16

标签: javascript axis chart.js

修改

我正在使用charts.js库,我想知道是否可以隐藏y轴的特定刻度,例如,我已定义刻度的最小值:0和最大值:100并显示所有值10的倍数从0到100,但我想只显示0,50 e 100. (已解决)

另一个问题是我想删除所有x轴'网格线,但方法“gridLines.display:false”不会隐藏图表开头的第一条垂直线,只是隐藏其他垂直线。

这就是我想要的样子:http://i.stack.imgur.com/GryIo.png

脚本

        var humdays = document.getElementById("charthumdays");
        var humdaysChart = new Chart(humdays, {
        type: 'bar',
        data: {
            labels: ["15 mar", "16 mar", "17 mar", "18 mar", "19 mar", "20 mar", "21 mar"],
            datasets: [{
                label: "humidity",                
                data: [60, 20, 30, 50, 60, 80, 90],
                backgroundColor: "#D9B090",
                hoverBackgroundColor: 'rgba(217,176,144,0.8)'


            }]
        },
        options: {

            scales: {

               xAxes : [{


                    gridLines : {
                         display : false
                    }

               }],

                yAxes: [{

                    ticks: {
                        min:0,
                        max:100

                    }
                }]
            }
        }
    });

    humdaysChart.options.legend.display = false;

1 个答案:

答案 0 :(得分:8)

使用 afterBuildTicks 选项 scale / yAxes

yAxes: [{

  ticks: {
    min: 0,
    max: 100

  },
  afterBuildTicks: function(humdaysChart) {    
    humdaysChart.ticks = [];
    humdaysChart.ticks.push(0);
    humdaysChart.ticks.push(50);
    humdaysChart.ticks.push(100);    
  }
}]

或者您也可以使用'stepSize'

   yAxes: [{

        ticks: {
            min:0,
            max:100,
            stepSize:50

        }
    }]

http://jsfiddle.net/Lehuga5o/