Chart.js:在日志x轴上创建自定义主要刻度线?

问题描述 投票:0回答:1

我不知道如何在chart.js的对数x轴上设置自定义主要刻度线

在我的示例中,我希望在x = {0.1,0.2,0.315,0.4,0.63}上打勾,但到目前为止,它仅适用于0.1、0.2、0.4,而不适用于0.315或0.63。

这里是一些有关xAxis格式的代码:

    options: {
    scales: {
        xAxes: [{
            type: 'logarithmic',
            ticks: {
                min: 0.09,
                max: 4,
                padding: 10,
                minRotation: 90,
                callback: function (value, index, values) {
                    if( value==0.100) {
                        return "0.100";
                        };
                    if(value==0.200) {
                        return "0.200";
                        };
                    if(value==0.315) {
                        return "0.315";
                        };
                    if(value==0.4) {
                        return "0.400";
                        };
                    if(value==0.63) {
                        return "0.630";
                        }
                    }

这是它的样子:Image of my Graph with incorrect ticks

chart.js
1个回答
0
投票

我找到了解决方案。除了定义我的价格变动(如上面的代码示例[在“回调”功能内]),我还必须像下面这样更改价格变动:

   [...]
   if(value==0.63) {
        return "0.630";
        }
      } //closing bracket from "callback: function"  
    }, //closing bracket from "ticks" section

    //new code that did the trick
    afterBuildTicks: function(pckBarChart) {    
            pckBarChart.ticks = [];
            pckBarChart.ticks.push(0.1);
            pckBarChart.ticks.push(0.2);
            pckBarChart.ticks.push(0.315);
            pckBarChart.ticks.push(0.4);                        
            pckBarChart.ticks.push(0.63);
    }

我在这里找到这个:StackOverflow: chart.js not allowing y axis steps with logarithmic scale

© www.soinside.com 2019 - 2024. All rights reserved.