我使用chart.js插件绘制折线图 我想在绘制图表之前显示加载。
我试过以下但没有发生任何事情 这里显示了jQuery错误:
未捕获的ReferenceError:未定义进度
但是在我的应用程序中它并没有显示错误。
如何在绘制图形之前显示动画或加载?
我使用semantic-ui作为css框架。
new Chart(document.getElementById("line-chart"),{
type: 'line',
data:{
labels: [1500, 1600, 1700, 1750, 1800, 1850, 1900, 1950, 1999, 2050],
datasets: [{
data: [86, 114, 106, 106, 107, 111, 133, 221, 783, 2478],
label: "Africa",
borderColor: "#3e95cd",
fill: false
},{
data: [282, 350, 411, 502, 635, 809, 947, 1402, 3700, 5267],
label: "Asia",
borderColor: "#8e5ea2",
fill: false
},{
data: [168, 170, 178, 190, 203, 276, 408, 547, 675, 734],
label: "Europe",
borderColor: "#3cba9f",
fill: false
},{
data: [40, 20, 10, 16, 24, 38, 74, 167, 508, 784],
label: "Latin America",
borderColor: "#e8c3b9",
fill: false
},{
data: [6, 3, 2, 2, 7, 26, 82, 172, 312, 433],
label: "North America",
borderColor: "#c45850",
fill: false
}
]
},
options:{
title:{
display: true,
text: 'World population per region (in millions)'
},
animation:{
onProgress: function (animation){
progress.value = animation.animationObject.currentStep / animation.animationObject.numSteps;
}
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.min.js"></script>
<canvas id="line-chart" ></canvas>
答案 0 :(得分:3)
您好像是基于chartjs文档animations callbacks部分所示的代码。
该代码只是部分代码。页面上的链接已损坏,但这里是正确的完整代码:progress-bar example
onProgress
属性上定义的函数在图表动画的每一步都被调用,因此用于填充进度条。应该先在代码中定义提供未定义错误的progress
变量。在github链接上,它位于#26
答案 1 :(得分:0)
您正在查看的代码-chart.js“进度栏”示例,用于绘制图表时动画期间的进度条。
加载数据时需要有一个进度条,这是另一回事。因此,您正在查看错误的代码。
chart.js中的动画是对图表的绘制进行动画处理,而不是对数据的获取进行动画处理,这是一个用户问题,您到处都会发现很多示例代码。