【发布时间】:2017-04-06 07:30:23
【问题描述】:
我正在使用 chartJS 来显示一些带有条形图的数据。 chartJs 存在一些问题。当我需要提交大量数据时,例如 100 个或更多数据字段并且它具有持久的标签,它看起来很丑。
如何配置条形图?
这是我的FIDDLE
在上面的例子中,我有 100 个数据归档,我可以给这个条形图分页吗?
这是我的代码
var lbl = [];
var dt = [];
for(var i = 1;i<=100;i++){
lbl.push("this_is_my_lable_name_"+i);
}
for(var i = 1;i<=100;i++){
dt.push(Math.floor((Math.random() * 100) + 1));
}
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: lbl,
datasets: [{
label: '# of Votes',
data: dt,
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)',
'rgba(255, 159, 64, 0.2)'
],
borderColor: [
'rgba(255,99,132,1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(255, 159, 64, 1)'
],
borderWidth: 1
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero:true
}
}]
}
}
});
【问题讨论】:
-
不幸的是,chart.js 中内置了分页功能。但是,有一个名为
chartjs-plugin-zoom的插件可以为您工作,但您需要对其进行扩展以进行一些更改。以codepen 为例。您可以使用鼠标滚轮滚动到图表中,然后单击并拖动以向左/向右平移。目前没有办法预先设置初始缩放,但您可以扩展插件以添加该功能(应该不会太难)。如果这适合您的需求,请告诉我,我将作为答案提交
标签: javascript jquery css bar-chart chart.js