首页 > 解决方案 > Chart.js:一个值为空,但不能断行

问题描述

是我要绘制的折线图。

标签是

[2019, 2020, 2021, 2022]

但数据集是

[{
 data: [100, '', 200, 100]
 ...
}]

数据集中的第二个是 null 或 '',但我希望这条线不要被打破。

我怎样才能画出这样的图表?

标签: javascriptchart.js

解决方案


您可以使用对象表示法来实现此目的,方法是告诉 chart.js 必须将值链接到哪个 x 标签,以便您可以跳过一些标签。

例子:

var options = {
  type: 'line',
  data: {
    labels: [2019, 2020, 2021, 2022],
    datasets: [{
      label: '# of Votes',
      data: [{
        x: 2019,
        y: 100
      }, {
        x: 2021,
        y: 200
      }, {
        x: 2022,
        y: 100
      }],
      borderColor: 'pink',
      backgroundColor: 'red',
      radius: 5
    }]
  },
  options: {
  }
}

var 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/3.5.0/chart.js"></script>
</body>


推荐阅读