Javascript 在x、y数值的最后一个数据点(散点图)上结束x轴

Javascript 在x、y数值的最后一个数据点(散点图)上结束x轴,javascript,chart.js,Javascript,Chart.js,当我使用ChartJS在散点图上绘制一个(x,y)浮动的数据集时,由于步长的原因,我在x轴上得到了额外的空间。我可以强制它在最后一个数据点结束吗 我还没有设置任何好的标签或图例,因此对于基本的情节感到抱歉。我首先尝试做一个线图,我认为这不会有这个问题,但我无法以以下格式传递(x,y)值的数据集: elevation = [ { x: 1, y: 2 }, { x: 2, y: 5 } ] 出于这个

当我使用ChartJS在散点图上绘制一个(x,y)浮动的数据集时,由于步长的原因,我在x轴上得到了额外的空间。我可以强制它在最后一个数据点结束吗

我还没有设置任何好的标签或图例,因此对于基本的情节感到抱歉。我首先尝试做一个线图,我认为这不会有这个问题,但我无法以以下格式传递(x,y)值的数据集:

elevation = [
    {
        x: 1,
        y: 2
    },
    {
        x: 2,
        y: 5
    }
]
出于这个原因,我选择使用散点图

目前,我正在绘制散点图,如下所示:

var ctx = document.getElementById("elevationProfile");
myLineChart = new Chart(ctx, {
    type: 'scatter',
    data: {
        datasets: [{
            label: "Elevation Profile",
            data: elevation,
            showLine: true
        }]
    }
});
但我在文档或Github中找不到任何能够说明如何实现这一目标的内容

我希望图表看起来像这样,结尾没有空格:


谢谢

我在一个类似的项目中使用xAxe.ticks.min/max属性解决了这个问题

在您的情况下,类似这样的操作应该可以做到:

if (elevation[0]){
    var minX = elevation[0]['x'];
    var maxX = elevation[elevation.length -1]['x'];
}

myLineChart = new Chart(ctx, {
  type: 'scatter',
  data: {
      datasets: [{
          label: "Elevation Profile",
          data: elevation,
          showLine: true
      }]
  },
  options: {
    ...
    scales: {
      xAxes: [{
        ticks:{
          min: minX,
          max: maxX,
        }
      }]
    },
    ...
  }
});