javascript - Chart.js 没有显示任何内容

标签 javascript chart.js

我正在尝试定期更新图表。数据正在进入数据集,但我无法让它绘制图表。我做错了什么?

const ctx = document.querySelector('#apichart canvas').getContext('2d');
const apichart = new Chart(ctx, {
  type: 'line',
  data: {datasets:[{
    label:'Pressure',
    data: [1025,1000],
    fill:false,
    borderColor: 'rgb(75, 192, 192)',
    tension:0.1
  }]},
  options: {
    scales: {
      y: {
        beginAtZero: true
      }
    }
  }
});

setInterval(function run(){
  apichart.data.datasets[0].data.push(1025 * Math.random());
  apichart.update();
}, 10000);
#apichart{background:#777; position:absolute; top:0; right:0; bottom:0; left:0;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.2/chart.min.js"></script>
<div id="apichart">
    <canvas></canvas>
</div>

最佳答案

我认为这个问题与标签有关,所以我添加了标签数组并每次在setInterval中更新它们并且它有效。

const ctx = document.querySelector('#apichart canvas').getContext('2d');
const apichart = new Chart(ctx, {
  type: 'line',
  data: {labels: [1, 2],
datasets:[{
    label:'Pressure',
    data: [1025,1000],
    fill:false,
    borderColor: 'rgb(75, 192, 192)',
    tension:0.1
  }]},
  options: {
    scales: {
      y: {
        beginAtZero: true
      }
    }
  }
});

setInterval(function run(){
apichart.data.labels.push(Math.random());
  apichart.data.datasets[0].data.push(1025 * Math.random());
  apichart.update();
}, 1000);
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.2/chart.min.js"></script>
<div id="apichart">
    <canvas></canvas>
</div>

关于javascript - Chart.js 没有显示任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70368551/

相关文章:

javascript - 如何解决菜单中 mouseenter 和 mouselieave 的不透明度问题?

chart.js - 当在任意值之上/之下绘制时,如何更改 Chart.js 线条的颜色?

javascript - 使用 Chart.js jQuery 创建数学图表

javascript - Chart.js 线性插值

javascript - Chart.js - 柱形值显示在柱形中间

javascript - Toggle 不适用于我的 jQuery

javascript - 使用插件式包扩展 Electron 应用程序开发的架构

javascript - Grails 中的连接下拉列表

javascript - "Was this helpful?"按钮

javascript - 对一个数组进行排序并使其他两个数组保持同步