【发布时间】:2017-08-01 02:21:38
【问题描述】:
尝试在 chart.js 中动态填充条形图时遇到了一些问题。我有两个数组,一个用于标签,一个用于价格,并且它们都已经填充了来自 firebase 的排序数据。这是我的代码:
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();
我设法将它们全部显示在条形图中,但是,结果如下:
如果类别太多,每个标签之间会出现挤压。此外,只有第一个栏的颜色和未定义的图例。任何想法如何解决这些问题?
【问题讨论】:
标签: javascript charts chart.js