Javascript 如何跳过x轴上的标签?

Javascript 如何跳过x轴上的标签?,javascript,chart.js,Javascript,Chart.js,我已经尝试了很长一段时间来找出如何跳过这个图表x轴上的标签。例如,每隔三个或四个标签显示一次。我曾尝试将autoSkip和步长添加到tick配置中,但没有任何变化。有没有一个简单的方法可以做到这一点 编辑: 在“图表选项”中,可以更改axe的“记号”回调以基于值显示记号(标签),甚至可以更改其显示内容: 选项:{ 比例:{ xAxes:[{ 滴答声:{ 回调:函数(勾号、索引、数组){ 返回(索引%3)?“”:勾选; } } }] } } 此选项基本上每三次显示一个勾号 您可以签入完整脚本,

我已经尝试了很长一段时间来找出如何跳过这个图表x轴上的标签。例如,每隔三个或四个标签显示一次。我曾尝试将autoSkip和步长添加到tick配置中,但没有任何变化。有没有一个简单的方法可以做到这一点

编辑:


在“图表选项”中,可以更改axe的“记号”回调以基于值显示记号(标签),甚至可以更改其显示内容:

选项:{
比例:{
xAxes:[{
滴答声:{
回调:函数(勾号、索引、数组){
返回(索引%3)?“”:勾选;
}
}
}]
}
}
此选项基本上每三次显示一个勾号


您可以签入完整脚本,其结果如下:


如果您在图表中包含代码,将会有所帮助:)我非常感谢。代码补充道:)这是一种非常巧妙的方法。我不知道有那么简单。非常感谢。我知道我已经将此标记为已解决,但我有一个非常相关的问题。为什么不可能在x轴上查看两个相等的标签而不重叠并破坏图表。例如,若我将图表继续显示两年中的所有月份(这样每个月在图表上显示两次),一半的标签变为粗体,一半在最后消失。有解决办法吗?@Pelle-Hmm我从没见过这种虫子,而且。你能把它复制成小提琴吗?这样我就可以检查出什么地方出了问题,然后试着去解决这个问题。这很奇怪。我也无法在小提琴中复制它,但我在这里截图了它的样子:这是一把看起来正确的小提琴:我不知道它为什么不同。@Pelle可能是一个拼写错误或其他什么,请检查您的代码,确保您与小提琴具有相同的内容。试着用你手头的东西替换它,改变你需要的东西(也许你从其他地方得到了我不知道的数据),然后检查它是否好——从我这里得到的,我无法进一步帮助你
visitorsLabels = ["januar", "desember", "november", "oktober", "september", "august", "juli", "juni", "mai", "april", "mars", "februar"]

var visitors_data = [2, 4, 2, 1, 2, 4, 2, 1, 2, 4, 2, 1];

var ctx1 = $("#chart-visitors"); 

var graph_visitors_preset = {
    labels: visitorsLabels,
    datasets: [
        {
            fill: true,
            lineTension: 0.1,
            backgroundColor: "#f9f9f9",
            borderColor: "#72bce3",
            borderCapStyle: 'butt',
            borderDash: [],
            borderDashOffset: 0.0,
            borderJoinStyle: 'miter',
            pointBorderColor: "rgba(75,192,192,1)",
            pointBackgroundColor: "#fff",
            pointBorderWidth: 1,
            pointHoverRadius: 5,
            pointHoverBackgroundColor: "rgba(75,192,192,1)",
            pointHoverBorderColor: "rgba(220,220,220,1)",
            pointHoverBorderWidth: 2,
            pointRadius: 1,
            pointHitRadius: 10,
            data: visitors_data,
            spanGaps: true,
        }
    ]
};
var chart_visitors = new Chart(ctx1, {
    type: 'line',
    data: graph_visitors_preset,
    options: {
        responsive: true,
        legend: { display: false },
        scales: {
            xAxes: [{

                ticks: {autoSkip: true, stepSize: 3, max: 5, min: 2},
                gridLines: {
                    display: false
                }
            }],
            yAxes: [{

                gridLines: {
                    display: false
                }
            }]
        }
    }
});