将第二个数据集附加到现有的 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()
方法绘制了一个新图表。
有没有办法向现有的 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()
方法绘制了一个新图表。