将第二个数据集附加到现有的 chartjs 图表

Append second dataset to existing chartjs chart

有没有办法向现有的 chartjs 图表添加第二个数据集? 我的网站上有一个预渲染图表,我想通过单击按钮向图表添加第二个数据集。

我有一个函数可以创建一个包含一个数据集项的条形图

function renderChart(dataset_energy){
      var ctx = document.getElementById("myChart").getContext("2d");
      var data = {
            labels:["Jan","Feb","Mar","Apr","Mai"],
            datasets: [
            {
                 label: "My First dataset",
                 fillColor: "rgba(220,220,220,0.5)",
                 strokeColor: "rgba(220,220,220,0.8)",
                 highlightFill: "rgba(220,220,220,0.75)",
                 highlightStroke: "rgba(220,220,220,1)",
                 data: data //data = [523,523,356,31,234]
               },
            ]
       };
     myBarChart = new Chart(ctx).Bar(data, options);
}

我现在的挑战是,如何向现有图表添加具有相同标签的第二个数据集。不幸的是,库中没有任何 appendDataset-函数

Als解决方法我试过以下方法: 我创建了一个虚拟 canvas,提取新创建的数据集,将其推入真实 canvas 并更新我的图表。不幸的是,一切都重新呈现,但图表没有出现。另外鼠标悬停显示还有第二个数据集!

I jsfiddle 上的详细代码Example

现在我解决了这个问题:这个Diskussion

提供了解决方案

我使用 .destroy() 方法绘制了一个新图表。