2
我在尝试动态填充chart.js中的条形图时遇到了一些麻烦。我有两个数组,一个用于标签,一个用于价格,两个数组都已经用来自firebase的已排序数据填充。这里是我的代码:Chart.js没有显示动态填充的数据
var ctx = document.getElementById('brandChart').getContext("2d");
var data = {
labels: [],
datasets: [{
data: [],
backgroundColor: [
"#424242",
]
}]
};
var options = {
layout: {
padding: {
top: 5
}
},
responsive: true,
legend: {
display: true,
position: 'bottom',
// disable legend onclick remove slice
onClick: null
},
animation: {
animateScale: true,
animateRotate: true
},
};
var opt = {
type: "horizontalBar",
data: data,
options: options
};
if (brandChart) brandChart.destroy();
brandChart = new Chart(ctx, opt);
// dynamically populate chart
for(var i = 0; i < labelData.length; i++){
brandChart.config.data.labels.push(labelData[i]);
}
for(var i = 0; i < priceData.length; i++){
brandChart.config.data.datasets[0].data.push(priceData[i]);
}
brandChart.update();
我设法显示所有他们的柱状图,然而,结果是这样的:
它是一种每个标签之间的挤压,如果有太多的类别。此外,只有第一个酒吧的颜色&图例显示未定义。任何想法如何解决这些?
感谢先进!
感谢您的答复!但是图表中没有显示编辑部分的内容。你有什么想法,为什么这样?有些东西从数据数组中打印出来,只是没有在图表上显示出来, – hyperfkcb
你没有正确地填充'data'数组。仔细想想 –
我修改了我的代码来更新#2,但无济于事:( – hyperfkcb