当数据是数字数组时,x 轴通常是一个 category。数据点则按照在数组中的索引,依次显示在图表上。使用 category 轴创建折线图时,必须指定数据对象的 labels 属性。
Point[]
data: [
x: 10,
y: 20
x: 15,
y: 10
此项用于稀疏数据集,例如散点图(scatter charts)中的数据集。每个数据点都使用包含 x 和 y 属性的对象来指定。
堆积面积图
通过更改 y 轴上的设置以启用堆叠,折线图可以配置为堆积面积图。堆积面积图可以用来显示一个数据趋势是如何由多个小块组成的。
var stackedLine = new Chart(ctx, {
type: "line",
data: data,
options: {
scales: {
yAxes: [
stacked: true
禁用贝塞尔曲线
在图表上绘制直线比贝塞尔曲线更高效,因此禁用贝塞尔曲线将提高渲染时间。
要为整个图表禁用贝塞尔曲线,执行以下操作:
new Chart(ctx, {
type: "line",
data: data,
options: {
elements: {
line: {
tension: 0 // 禁用贝塞尔曲线
不渲染线条
如果有很多数据点,那么可以禁用线条的的渲染并仅绘制点。这样做意味着在画布上绘画将会减少更多渲染,从而提高性能。
要禁用线条渲染,可执行以下操作:
new Chart(ctx, {
type: "line",
data: {
datasets: [
showLine: false // 为单个数据集禁用
options: {
showLines: false // 为所有的数据集禁用
如果你的图表渲染需要很长时间,那么禁用动画是一个好办法。这样做意味着图表只需要在更新期间渲染而不是多次渲染。这将减少 CPU 使用率并改善一般页面的性能。
new Chart(ctx, {
type: "line",
data: data,
options: {
animation: {
duration: 0 // 一般动画时间
hover: {
animationDuration: 0 // 悬停项目时动画的持续时间
responsiveAnimationDuration: 0 // 调整大小后的动画持续时间