如何在 chart.js 中增加标签和图表区域之间的 space

How to increase space between label and chart area in chart.js

我所有的标签都在栏的顶部。我可以看到这个 this image

但我希望它是这样的 this image 填充不适用于 xAxes,但适用于 yAxes

    legend: {display: false},
    scales: {
      xAxes: [{
        position: 'top',
        stacked: true,
        ticks: {
          stepSize: 1,
          min: 0,
          autoSkip: false,
          fontColor: '#3f7ba2',
          fontStyle: 600,
          fontFamily: 'Italic',
        },
        gridLines: {
          color: '#dedfe7',
          tickMarkLength: 0,
        }
      }],
      yAxes: [{
        stacked: true,
        ticks: {
          min: 0,
          fontColor: '#62aae8',
          padding: 5
        },
        gridLines: {
          color: '#dedfe7' //b5cce2
        }
      }],
    }

这个问题只存在于 chart.js 2.6.0 及更低版本中。正如您在错误修复下的 release notes 中所读到的那样,它表示在 PR 4403 中 ticks.padding 选项现在适用于垂直和水平比例尺。

因此,要解决您的问题,您需要更新至 chart.js 更高或等于 2.7.0

的版本

const options = {
  type: 'line',
  data: {
    labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
    datasets: [{
        label: '# of Votes',
        data: [12, 19, 3, 5, 2, 3],
        borderWidth: 1
      },
      {
        label: '# of Points',
        data: [7, 11, 5, 8, 3, 7],
        borderWidth: 1
      }
    ]
  },
  options: {
    scales: {
      xAxes: [{
        position: 'top',
        ticks: {
          padding: 100
        }
      }],
    }
  }
}

const ctx = document.getElementById('chartJSContainer').getContext('2d');
new Chart(ctx, options);
<body>
  <canvas id="chartJSContainer" width="600" height="400"></canvas>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.0/Chart.js"></script>
</body>