Chart.js - 折线图最右边的数据点

Chart.js - the rightmost data point cut off for line chart

使用Chart.js 2.8.0 版本绘制基本折线图。 观察最右边的数据点被切断。但是最左边的数据点(第一个数据点)看起来完好无损。

我通过改变 pointRadius 的值改变了数据点圆的大小。但即使是最小值,数据点仍然会被切断。

我没有使用任何插件或花哨的设置。我正在用浅灰色背景色填充图表。但除此之外,其他一切都是盒子标准Chart.js。

我在这里重现了这个问题: https://codepen.io/LeoU/pen/gVLybO

这是我的选项设置。

options: {
      legend: {
        display: false,
      },
      tooltips: {
        callbacks: {
            label: function (tooltipItem, data) {
              var tooltipValue = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
              return "£" + parseInt(tooltipValue).toLocaleString();
          }
      }
      },    
        scales: {
          yAxes: [{ 
                gridLines: {
                  color: "white",
                  lineWidth: 2
                },
                ticks: {
                  beginAtZero: true,
              min: 0,
              stepSize: 500000,
              callback: function(value, index, values) {
              return "£" + value.toLocaleString();
            },
          },
          scaleLabel: {
              display: true,
              labelString: "Median house price"
        }
              }],
            xAxes: [{
              display: false, 
                ticks: {
                    display: false 
                }
            }]
        }
    },

有没有人看到 Chart.js 有类似的问题?

我通过将 padding 值添加到图表的 right 手边来解决这个问题。 我玩弄了确切的数字,4 看起来很适合我的图表。但我想正确的数字将取决于你的 pointRadius 的大小和你拥有的其他变量。 这就是我对这些变化的看法。

options: {
        layout: {
            padding: {
                left: 0,
                right: 4,
                top: 0,
                bottom: 0
            }
        }
    }

有关 Chart.js 的填充的更多信息,这是他们的说明页面。 https://www.chartjs.org/docs/latest/configuration/layout.html

这很烦人。而且,这应该是默认设置,真的。但这为我解决了问题。

您可以使用偏移量

scales: {
 xAxes: [{
     offset: true
  }]
}