Chart.js时间序列x因周末而重叠的刻度

kcwpcxri  于 2022-11-23  发布在  Chart.js
关注(0)|答案(1)|浏览(202)

我使用Chart.js绘制了一个折线图。我的x轴是一个时间序列。但是,由于周末数据,我的刻度重叠了。
有没有办法避免重叠的分笔成交点?我使用了"autoskip:true ",但似乎不起作用。
以下是我的配置:

x: {
              parsing: false,
              type: "timeseries",
              time: {
                displayFormats: {
                  second: "HH:mm",
                  minute: "HH:mm",
                  hour: "HH:mm",
                  day: "MMM d",
                },
                tooltipFormat: "d MMM HH:mm",
              },
              grid: {
                display: false,
              },
              ticks: {
                autoskip: true,
              },
            },

这就是重叠的样子:

fv2wmkja

fv2wmkja1#

您可以通过编写一个回调函数来检查value是否是周末,从而实现所需的功能

new Date(Date.parse(value)).getDay() == 1 || new Date(Date.parse(value)).getDay() == 2

如果是,我们就不返回它。否则,我们返回值而不做任何更改。
您的配置应如下所示:

x:{
   type: 'timeseries'
   time:{
         unit:'day',
   },
   ticks:{
        callback: function(value){
            //if weekend dont return the tick label
            if(new Date(Date.parse(value)).getDay() == 1 || new Date(Date.parse(value)).getDay() == 2 )
                return
            return value
        }
   }
}

相关问题