Chart.js ChartJs-以指定/固定的间隔设置x轴刻度

Chart.js ChartJs-以指定/固定的间隔设置x轴刻度,chart.js,Chart.js,我有一个chart.js折线图,其中x轴标签是普通的旧数字,例如[2,4,15,45,90],它表示此图表上的天数。我不希望x轴刻度镜像数据标签,我希望刻度间隔为20。我怎样才能做到这一点 “我的选项”中的此选项不起任何作用: xAxes: [ { display: true, position: 'bottom', ticks: { stepSize: 20, min: 0, max: 140 } ], 示例如下: …

我有一个chart.js折线图,其中x轴标签是普通的旧数字,例如[2,4,15,45,90],它表示此图表上的天数。我不希望x轴刻度镜像数据标签,我希望刻度间隔为20。我怎样才能做到这一点

“我的选项”中的此选项不起任何作用:

xAxes: [ {
    display: true,
    position: 'bottom',
    ticks: {
       stepSize: 20,
       min: 0,
       max: 140
    }
],
示例如下:

…我发现的唯一(糟糕的)方法是将数字转换为日期,然后在ticks回调中计算天数差。如图所示,

您可以使用一个图表,该图表将数据作为单个点、具有属性
x
y
的对象来接受。要将散点图转换回折线图,只需在每个
数据集上定义
showLine:true

要将产品数据作为单个点,可以在图表外部定义
标签
,并使用以下方法转换两个值数组

valueArray.map((v, i) => ({ x: labels[i], y: v }))
最后要做的是定义
xAxis.ticks
,如下所示:

ticks: {
  stepSize: 1,
  autoSkip: false,
  callback: value => value % 20 == 0 ? value : null,
  min: labels[0],
  max: labels[labels.length - 1],
  maxRotation: 0
},
请查看以下修改后的代码:

const标签=[7,14,21,35,42,49,56,63,70,77,84,91,98,105,119,126];
var myChart=新图表(“myChart”{
键入:“散布”,
数据:{
数据集:[{
标签:"IC",,
数据:[9432.132092671899.132847851.21226683964.48968367,9433,8087.04121531268.34642367,825.29800317,4271.00722867,1157.57453933,4928.214994,783.88204033,1846.623016401.84214867,709.70201067,3917.61792167,688.157182]。地图((v,i)=>({:x:labels[i],y:v}),
背景颜色:[
"rgba(255,99,132,0.2)",,
“rgba(54162235,0.2)”,
"rgba(255,206,86,0.2)",,
“rgba(751921920.2)”,
“rgba(153102255,0.2)”,
‘rgba(255、159、64、0.2)’
],
边框颜色:[
"rgba(255,99132,1)",,
“rgba(54162235,1)”,
"rgba(255,206,86,1)",,
"rgba(751921921)",,
"rgba(153102255,1)",,
‘rgba(255、159、64、1)’
],
秀行:没错,
边框宽度:1
},
{
标签:“Mtb”,
数据:[14241.4133466748348.088335055.28134537614.80689233、14240、24536.66203、1083.99264、144.72451603、15968.94539333、160.150183、5127.77524033、953.9963646、022989.36556、21.32920023、27.03159138、60310.229522333]。地图((v,i)=>((x:labels[i],y:v]),
背景颜色:[
"rgba(255,99,132,0.2)",,
“rgba(54162235,0.2)”,
"rgba(255,206,86,0.2)",,
“rgba(751921920.2)”,
“rgba(153102255,0.2)”,
‘rgba(255、159、64、0.2)’
],
边框颜色:[
"rgba(255,99132,1)",,
“rgba(54162235,1)”,
"rgba(255,206,86,1)",,
"rgba(751921921)",,
"rgba(153102255,1)",,
‘rgba(255、159、64、1)’
],
秀行:没错,
边框宽度:1
}
]
},
选项:{
比例:{
xAxes:[{
显示:对,
位置:'底部',
滴答声:{
步长:1,
autoSkip:错误,
回调:值=>值%20==0?值:null,
最小值:标签[0],
最大值:标签[labels.length-1],
最大旋转:0
},
//afterBuildTicks:(轴,刻度)=>[0,20,40,60,80,100,120],
scaleLabel:{
显示:对,
标签字符串:“从初始测试开始的天数”,
字体大小:16
}
}],
雅克斯:[{
显示:对,
位置:'左',
滴答声:{
贝吉纳泽罗:是的,
步长:10000,
分:0,,
最高:70000
},
scaleLabel:{
显示:对,
字体大小:16
}
},
{
显示:对,
位置:'右',
滴答声:{
贝吉纳泽罗:是的,
步长:10000,
分:0,,
最高:70000
},
scaleLabel:{
显示:对,
字体大小:16
}
},
]
}
}
});