首页 > 解决方案 > 在 Chart.js 中扩展数据系列的问题

问题描述

我有一个包含两个系列的双轴图表,是否需要使用其他数据来扩展它?

当我尝试扩展它时,会添加新的 xAsis 标签,但不会添加 yAxis 数据点。

function addData(chart, label, data) {
    chart.data.labels.push(label);
    chart.data.datasets.forEach((dataset) => {
            dataset.data.push(data);
    });
    chart.update();
}

var yArr = [64, 1.01];

addData(myChart, 'Sat', yArr);

这是我的 JSFiddle 代码

标签: javascriptchartschart.js

解决方案


您应该根据 yAxisID 将新数据推送到 chartData 对象中。试试下面的代码。

 function addData(chart,label, data) {
    chart.data.labels.push(label);        

    for(var i=0; i< data.length; i++){
       for(var k=0; k< chartData.datasets.length; k++){
          if(chartData.datasets[k].yAxisID == data[i].yAxisID){
              chartData.datasets[k].data.push(data[i].value);
            }
          }
        }   
       chart.update();
       console.log(chart.data);
     }

  var yArr = [ {yAxisID:"F", value: 64},{yAxisID:"G", value: 1.01} ];
  addData(myChart,'Sat', yArr);

https://jsfiddle.net/5botxckf/


推荐阅读