-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathperformance.html
135 lines (135 loc) · 48.2 KB
/
performance.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Performance | Chart.js</title>
<meta name="generator" content="VuePress 1.8.2">
<link rel="icon" href="/docs/3.5.0/favicon.ico">
<meta name="description" content="Open source HTML5 Charts for your website">
<link rel="preload" href="/docs/3.5.0/assets/css/0.styles.bc51b73f.css" as="style"><link rel="preload" href="/docs/3.5.0/assets/js/app.59cb20f3.js" as="script"><link rel="preload" href="/docs/3.5.0/assets/js/2.413130e4.js" as="script"><link rel="preload" href="/docs/3.5.0/assets/js/170.75a9c877.js" as="script"><link rel="prefetch" href="/docs/3.5.0/assets/js/10.a355b908.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/100.e5cb1cb4.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/101.1c2b3c1c.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/102.059fbc45.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/103.64e29596.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/104.c17d03e3.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/105.0254d1a7.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/106.1dd93b6c.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/107.536f6a2c.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/108.928dac80.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/109.10787c8c.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/11.b1358a1c.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/110.3499a36b.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/111.01c67a93.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/112.09cb20b8.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/113.f6ff9417.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/114.28ce97ea.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/115.dabee46e.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/116.b82c1fae.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/117.11fb7663.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/118.92e0cf62.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/119.a8e1ce7e.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/12.72fa2414.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/120.0b3fa24a.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/121.00f3bfa8.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/122.01e22b0e.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/123.e3d66577.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/124.cf0b4ee6.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/125.5a5b3ada.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/126.3b2e185f.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/127.15eefc07.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/128.61164e45.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/129.01b130e1.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/13.ebb93875.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/130.b209fe7f.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/131.ffdb5bb9.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/132.23823ad8.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/133.9bc0e294.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/134.82730c9b.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/135.c9c80afe.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/136.3e5e4165.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/137.f32814fc.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/138.2eaebdc3.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/139.0fd5d069.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/14.27cb80b6.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/140.48e3cda3.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/141.f5cc98cd.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/142.aca7ca4a.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/143.5b864728.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/144.9df4d6c8.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/145.8a1776fd.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/146.9edf461a.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/147.ad0570fb.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/148.32201e9a.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/149.f30a33e6.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/15.b9688b2d.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/150.021cd7a0.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/151.854a0d67.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/152.c2ec3994.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/153.9c9b99ee.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/154.0d8cd676.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/155.4c762fb2.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/156.39e36c25.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/157.456a4fcb.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/158.e3faf752.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/159.37fb9b11.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/16.cda6751f.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/160.90cd0fe0.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/161.5f91782b.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/162.ad2479e2.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/163.36d6394b.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/164.42a79c1f.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/165.45f86607.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/166.32756412.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/167.3f14acc7.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/168.65674006.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/169.e0a25137.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/17.78312632.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/171.187f1f6d.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/172.e0e33a65.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/173.4751bc1c.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/174.a40d9a17.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/175.654247ab.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/176.72432c48.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/177.0d2cd1b5.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/178.f5fc39c9.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/179.9c39c3a8.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/18.63babddc.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/180.f3fd11c7.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/181.08259b6b.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/182.4ef58173.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/183.dacadf95.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/184.fc296fdf.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/185.461ae516.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/186.43ec9676.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/187.e192c538.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/188.623c07b3.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/189.451adf6e.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/19.8e956441.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/190.00f0c825.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/191.6c2ceec5.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/192.07b7481f.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/193.beb7ac0a.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/194.ea0d0cc1.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/195.6f9e42f7.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/196.436b1b49.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/197.aad9e93c.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/198.97128af3.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/199.d8dd2c1f.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/20.996e100c.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/200.c69bf0b5.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/201.d915dbab.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/202.6b039791.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/203.a341ade1.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/204.eca9a404.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/205.ebe07903.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/206.762955e7.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/207.e4d85dfd.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/208.e895192b.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/209.b0885a32.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/21.ac46cf32.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/210.adf23059.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/211.5588473a.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/212.bf4629a7.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/213.ad1ca25c.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/214.a5fe39c5.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/215.511aaa17.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/216.61ec2674.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/217.ba116e51.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/218.822a8cba.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/219.fc3a8668.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/22.b73513bf.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/220.0ecf9928.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/221.70e2d53b.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/222.ae1b3f30.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/223.3a4e01a3.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/224.6ffe91c8.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/225.03717896.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/226.a7401e20.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/227.57fb74d8.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/228.f6598467.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/229.99cb5673.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/23.2974417a.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/230.a6864f81.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/231.82b4fcc4.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/232.60505c4f.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/233.66be9100.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/234.67d740dd.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/235.ef3c80fb.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/236.8b8b4637.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/237.f0c1359c.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/238.272e6e33.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/239.14bca625.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/24.fbc24092.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/240.7fd9a2d2.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/241.348841ce.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/242.f2da77c2.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/243.d1fd2e57.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/244.65aa69dd.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/245.fa5b9ce7.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/246.f417d283.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/247.8acd1f08.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/248.e45bbc92.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/25.3cbb9027.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/26.f4414065.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/27.dd77a226.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/28.9d4b0496.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/29.7da2376d.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/3.e2fd7cce.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/30.40dddf30.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/31.58f22d78.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/32.724cf098.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/33.1ee999ab.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/34.530faec3.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/35.07f17e06.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/36.ac976897.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/37.27eecc1b.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/38.dca6b407.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/39.f3efe8f8.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/4.1caa9627.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/40.75d4aee1.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/41.2f9d95a0.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/42.ca370c5c.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/43.50421383.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/44.ae8cb9d3.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/45.54600b3e.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/46.fa2d05f1.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/47.019eb528.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/48.174e02ad.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/49.ee78d5ba.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/5.af43cbd6.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/50.4fe3fb6b.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/51.25e54576.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/52.02ac4ee8.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/53.027fb7ce.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/54.46f765d5.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/55.3805d7c3.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/56.48ad6df3.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/57.06801b9c.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/58.776d6e68.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/59.262bc10b.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/6.3a712537.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/60.39d43bee.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/61.ffa5d333.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/62.bcd9390c.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/63.650157d4.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/64.51eda27a.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/65.53b17988.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/66.6c73f458.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/67.03e743a7.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/68.91df8b39.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/69.516c5c76.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/7.5ce46ca3.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/70.e8fa2131.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/71.7b79c28d.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/72.f2d41bb0.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/73.f6af820a.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/74.0d37dd45.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/75.da6e0631.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/76.6c95b7ef.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/77.db8c4ac7.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/78.7632b94e.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/79.5c4609b9.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/8.eabe9f87.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/80.03320c14.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/81.275f4f00.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/82.c26a026c.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/83.fe047ff7.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/84.919c0afb.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/85.5fb3e609.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/86.d3498c0f.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/87.eda2145e.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/88.b1d9d7ea.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/89.0e8bf7d7.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/9.fb277a1e.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/90.def95f55.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/91.0c4e6452.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/92.acdee0be.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/93.1e1a4d6e.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/94.ed9ef963.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/95.3d3d47ad.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/96.14d4148d.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/97.c3e965ad.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/98.62809f55.js"><link rel="prefetch" href="/docs/3.5.0/assets/js/99.cae59d05.js">
<link rel="stylesheet" href="/docs/3.5.0/assets/css/0.styles.bc51b73f.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/docs/3.5.0/" class="home-link router-link-active"><img src="/docs/3.5.0/favicon.ico" alt="Chart.js" class="logo"> <span class="site-name can-hide">Chart.js</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/docs/3.5.0/" class="nav-link">
Home
</a></div><div class="nav-item"><a href="/docs/3.5.0/api/" class="nav-link">
API
</a></div><div class="nav-item"><a href="/docs/3.5.0/samples/" class="nav-link">
Samples
</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Community Menu" class="dropdown-title"><span class="title">Ecosystem</span> <span class="arrow down"></span></button> <button type="button" aria-label="Community Menu" class="mobile-dropdown-title"><span class="title">Ecosystem</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://github.com/chartjs/awesome" target="_blank" rel="noopener noreferrer" class="nav-link external">
Awesome
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="https://chartjs-slack.herokuapp.com/" target="_blank" rel="noopener noreferrer" class="nav-link external">
Slack
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="https://stackoverflow.com/questions/tagged/chart.js" target="_blank" rel="noopener noreferrer" class="nav-link external">
Stack Overflow
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div> <a href="https://github.com/chartjs/Chart.js" target="_blank" rel="noopener noreferrer" class="repo-link">
GitHub
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/docs/3.5.0/" class="nav-link">
Home
</a></div><div class="nav-item"><a href="/docs/3.5.0/api/" class="nav-link">
API
</a></div><div class="nav-item"><a href="/docs/3.5.0/samples/" class="nav-link">
Samples
</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Community Menu" class="dropdown-title"><span class="title">Ecosystem</span> <span class="arrow down"></span></button> <button type="button" aria-label="Community Menu" class="mobile-dropdown-title"><span class="title">Ecosystem</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://github.com/chartjs/awesome" target="_blank" rel="noopener noreferrer" class="nav-link external">
Awesome
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="https://chartjs-slack.herokuapp.com/" target="_blank" rel="noopener noreferrer" class="nav-link external">
Slack
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="https://stackoverflow.com/questions/tagged/chart.js" target="_blank" rel="noopener noreferrer" class="nav-link external">
Stack Overflow
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div> <a href="https://github.com/chartjs/Chart.js" target="_blank" rel="noopener noreferrer" class="repo-link">
GitHub
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><a href="/docs/3.5.0/" aria-current="page" class="sidebar-link">Chart.js</a></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Getting Started</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>General</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/docs/3.5.0/general/data-structures.html" class="sidebar-link">Data structures</a></li><li><a href="/docs/3.5.0/general/accessibility.html" class="sidebar-link">Accessibility</a></li><li><a href="/docs/3.5.0/general/options.html" class="sidebar-link">Options</a></li><li><a href="/docs/3.5.0/general/colors.html" class="sidebar-link">Colors</a></li><li><a href="/docs/3.5.0/general/fonts.html" class="sidebar-link">Fonts</a></li><li><a href="/docs/3.5.0/general/padding.html" class="sidebar-link">Padding</a></li><li><a href="/docs/3.5.0/general/performance.html" aria-current="page" class="active sidebar-link">Performance</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Configuration</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Chart Types</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Axes</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Developers</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="performance"><a href="#performance" class="header-anchor">#</a> Performance</h1> <p>Chart.js charts are rendered on <code>canvas</code> elements, which makes rendering quite fast. For large datasets or performance sensitive applications, you may wish to consider the tips below.</p> <h2 id="data-structure-and-format"><a href="#data-structure-and-format" class="header-anchor">#</a> Data structure and format</h2> <h3 id="parsing"><a href="#parsing" class="header-anchor">#</a> Parsing</h3> <p>Provide prepared data in the internal format accepted by the dataset and scales, and set <code>parsing: false</code>. See <a href="/docs/3.5.0/general/data-structures.html">Data structures</a> for more information.</p> <h3 id="data-normalization"><a href="#data-normalization" class="header-anchor">#</a> Data normalization</h3> <p>Chart.js is fastest if you provide data with indices that are unique, sorted, and consistent across datasets and provide the <code>normalized: true</code> option to let Chart.js know that you have done so. Even without this option, it can sometimes still be faster to provide sorted data.</p> <h3 id="decimation"><a href="#decimation" class="header-anchor">#</a> Decimation</h3> <p>Decimating your data will achieve the best results. When there is a lot of data to display on the graph, it doesn't make sense to show tens of thousands of data points on a graph that is only a few hundred pixels wide.</p> <p>The <a href="/docs/3.5.0/configuration/decimation.html">decimation plugin</a> can be used with line charts to decimate data before the chart is rendered. This will provide the best performance since it will reduce the memory needed to render the chart.</p> <p>Line charts are able to do <a href="#automatic-data-decimation-during-draw">automatic data decimation during draw</a>, when certain conditions are met. You should still consider decimating data yourself before passing it in for maximum performance since the automatic decimation occurs late in the chart life cycle.</p> <h2 id="tick-calculation"><a href="#tick-calculation" class="header-anchor">#</a> Tick Calculation</h2> <h3 id="rotation"><a href="#rotation" class="header-anchor">#</a> Rotation</h3> <p><a href="/docs/3.5.0/axes/cartesian/#tick-configuration">Specify a rotation value</a> by setting <code>minRotation</code> and <code>maxRotation</code> to the same value, which avoids the chart from having to automatically determine a value to use.</p> <h3 id="sampling"><a href="#sampling" class="header-anchor">#</a> Sampling</h3> <p>Set the <a href="/docs/3.5.0/axes/cartesian/#tick-configuration"><code>ticks.sampleSize</code></a> option. This will determine how large your labels are by looking at only a subset of them in order to render axes more quickly. This works best if there is not a large variance in the size of your labels.</p> <h2 id="disable-animations"><a href="#disable-animations" class="header-anchor">#</a> Disable Animations</h2> <p>If your charts have long render times, it is a good idea to disable animations. Doing so will mean that the chart needs to only be rendered once during an update instead of multiple times. This will have the effect of reducing CPU usage and improving general page performance.
Line charts use Path2D caching when animations are disabled and Path2D is available.</p> <p>To disable animations</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code><span class="token keyword">new</span> <span class="token class-name">Chart</span><span class="token punctuation">(</span>ctx<span class="token punctuation">,</span> <span class="token punctuation">{</span>
type<span class="token operator">:</span> <span class="token string">'line'</span><span class="token punctuation">,</span>
data<span class="token operator">:</span> data<span class="token punctuation">,</span>
options<span class="token operator">:</span> <span class="token punctuation">{</span>
animation<span class="token operator">:</span> <span class="token boolean">false</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><h2 id="specify-min-and-max-for-scales"><a href="#specify-min-and-max-for-scales" class="header-anchor">#</a> Specify <code>min</code> and <code>max</code> for scales</h2> <p>If you specify the <code>min</code> and <code>max</code>, the scale does not have to compute the range from the data.</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code><span class="token keyword">new</span> <span class="token class-name">Chart</span><span class="token punctuation">(</span>ctx<span class="token punctuation">,</span> <span class="token punctuation">{</span>
type<span class="token operator">:</span> <span class="token string">'line'</span><span class="token punctuation">,</span>
data<span class="token operator">:</span> data<span class="token punctuation">,</span>
options<span class="token operator">:</span> <span class="token punctuation">{</span>
scales<span class="token operator">:</span> <span class="token punctuation">{</span>
x<span class="token operator">:</span> <span class="token punctuation">{</span>
type<span class="token operator">:</span> <span class="token string">'time'</span><span class="token punctuation">,</span>
min<span class="token operator">:</span> <span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span><span class="token string">'2019-01-01'</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">valueOf</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
max<span class="token operator">:</span> <span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span><span class="token string">'2019-12-31'</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">valueOf</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
y<span class="token operator">:</span> <span class="token punctuation">{</span>
type<span class="token operator">:</span> <span class="token string">'linear'</span><span class="token punctuation">,</span>
min<span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span>
max<span class="token operator">:</span> <span class="token number">100</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><h2 id="parallel-rendering-with-web-workers-chromium-only"><a href="#parallel-rendering-with-web-workers-chromium-only" class="header-anchor">#</a> Parallel rendering with web workers (Chromium only)</h2> <p>Chromium (Chrome: version 69, Edge: 79, Opera: 56) added the ability to <a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/transferControlToOffscreen" target="_blank" rel="noopener noreferrer">transfer rendering control of a canvas<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a> to a web worker. Web workers can use the <a href="https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas" target="_blank" rel="noopener noreferrer">OffscreenCanvas API<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a> to render from a web worker onto canvases in the DOM. Chart.js is a canvas-based library and supports rendering in a web worker - just pass an OffscreenCanvas into the Chart constructor instead of a Canvas element. Note that as of today, this API is only supported in Chromium based browsers.</p> <p>By moving all Chart.js calculations onto a separate thread, the main thread can be freed up for other uses. Some tips and tricks when using Chart.js in a web worker:</p> <ul><li>Transferring data between threads can be expensive, so ensure that your config and data objects are as small as possible. Try generating them on the worker side if you can (workers can make HTTP requests!) or passing them to your worker as ArrayBuffers, which can be transferred quickly from one thread to another.</li> <li>You can't transfer functions between threads, so if your config object includes functions you'll have to strip them out before transferring and then add them back later.</li> <li>You can't access the DOM from worker threads, so Chart.js plugins that use the DOM (including any mouse interactions) will likely not work.</li> <li>Ensure that you have a fallback if you support browsers other than the most modern Chromium browsers.</li> <li>Resizing the chart must be done manually. See an example in the worker code below.</li></ul> <p>Example main thread code:</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code><span class="token keyword">const</span> config <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> canvas <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">HTMLCanvasElement</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> offscreenCanvas <span class="token operator">=</span> canvas<span class="token punctuation">.</span><span class="token function">transferControlToOffscreen</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> worker <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Worker</span><span class="token punctuation">(</span><span class="token string">'worker.js'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
worker<span class="token punctuation">.</span><span class="token function">postMessage</span><span class="token punctuation">(</span><span class="token punctuation">{</span>canvas<span class="token operator">:</span> offscreenCanvas<span class="token punctuation">,</span> config<span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">[</span>offscreenCanvas<span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><p>Example worker code, in <code>worker.js</code>:</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code><span class="token function-variable function">onmessage</span> <span class="token operator">=</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">event</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> <span class="token punctuation">{</span>canvas<span class="token punctuation">,</span> config<span class="token punctuation">}</span> <span class="token operator">=</span> event<span class="token punctuation">.</span>data<span class="token punctuation">;</span>
<span class="token keyword">const</span> chart <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Chart</span><span class="token punctuation">(</span>canvas<span class="token punctuation">,</span> config<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token comment">// Resizing the chart must be done manually, since OffscreenCanvas does not include event listeners.</span>
canvas<span class="token punctuation">.</span>width <span class="token operator">=</span> <span class="token number">100</span><span class="token punctuation">;</span>
canvas<span class="token punctuation">.</span>height <span class="token operator">=</span> <span class="token number">100</span><span class="token punctuation">;</span>
chart<span class="token punctuation">.</span><span class="token function">resize</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
</code></pre></div><h2 id="line-charts"><a href="#line-charts" class="header-anchor">#</a> Line Charts</h2> <h3 id="leave-bezier-curves-disabled"><a href="#leave-bezier-curves-disabled" class="header-anchor">#</a> Leave Bézier curves disabled</h3> <p>If you are drawing lines on your chart, disabling Bézier curves will improve render times since drawing a straight line is more performant than a Bézier curve. Bézier curves are disabled by default.</p> <h3 id="automatic-data-decimation-during-draw"><a href="#automatic-data-decimation-during-draw" class="header-anchor">#</a> Automatic data decimation during draw</h3> <p>Line element will automatically decimate data, when <code>tension</code>, <code>stepped</code>, and <code>borderDash</code> are left set to their default values (<code>false</code>, <code>0</code>, and <code>[]</code> respectively). This improves rendering speed by skipping drawing of invisible line segments.</p> <h3 id="enable-spangaps"><a href="#enable-spangaps" class="header-anchor">#</a> Enable spanGaps</h3> <p>If you have a lot of data points, it can be more performant to enable <code>spanGaps</code>. This disables segmentation of the line, which can be an unneeded step.</p> <p>To enable <code>spanGaps</code>:</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code><span class="token keyword">new</span> <span class="token class-name">Chart</span><span class="token punctuation">(</span>ctx<span class="token punctuation">,</span> <span class="token punctuation">{</span>
type<span class="token operator">:</span> <span class="token string">'line'</span><span class="token punctuation">,</span>
data<span class="token operator">:</span> <span class="token punctuation">{</span>
datasets<span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span>
spanGaps<span class="token operator">:</span> <span class="token boolean">true</span> <span class="token comment">// enable for a single dataset</span>
<span class="token punctuation">}</span><span class="token punctuation">]</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
options<span class="token operator">:</span> <span class="token punctuation">{</span>
spanGaps<span class="token operator">:</span> <span class="token boolean">true</span> <span class="token comment">// enable for all datasets</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><h3 id="disable-line-drawing"><a href="#disable-line-drawing" class="header-anchor">#</a> Disable Line Drawing</h3> <p>If you have a lot of data points, it can be more performant to disable rendering of the line for a dataset and only draw points. Doing this means that there is less to draw on the canvas which will improve render performance.</p> <p>To disable lines:</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code><span class="token keyword">new</span> <span class="token class-name">Chart</span><span class="token punctuation">(</span>ctx<span class="token punctuation">,</span> <span class="token punctuation">{</span>
type<span class="token operator">:</span> <span class="token string">'line'</span><span class="token punctuation">,</span>
data<span class="token operator">:</span> <span class="token punctuation">{</span>
datasets<span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span>
showLine<span class="token operator">:</span> <span class="token boolean">false</span> <span class="token comment">// disable for a single dataset</span>
<span class="token punctuation">}</span><span class="token punctuation">]</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
options<span class="token operator">:</span> <span class="token punctuation">{</span>
showLine<span class="token operator">:</span> <span class="token boolean">false</span> <span class="token comment">// disable for all datasets</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><h3 id="disable-point-drawing"><a href="#disable-point-drawing" class="header-anchor">#</a> Disable Point Drawing</h3> <p>If you have a lot of data points, it can be more performant to disable rendering of the points for a dataset and only draw line. Doing this means that there is less to draw on the canvas which will improve render performance.</p> <p>To disable point drawing:</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code><span class="token keyword">new</span> <span class="token class-name">Chart</span><span class="token punctuation">(</span>ctx<span class="token punctuation">,</span> <span class="token punctuation">{</span>
type<span class="token operator">:</span> <span class="token string">'line'</span><span class="token punctuation">,</span>
data<span class="token operator">:</span> <span class="token punctuation">{</span>
datasets<span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">{</span>
pointRadius<span class="token operator">:</span> <span class="token number">0</span> <span class="token comment">// disable for a single dataset</span>
<span class="token punctuation">}</span><span class="token punctuation">]</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
options<span class="token operator">:</span> <span class="token punctuation">{</span>
datasets<span class="token operator">:</span> <span class="token punctuation">{</span>
line<span class="token operator">:</span> <span class="token punctuation">{</span>
pointRadius<span class="token operator">:</span> <span class="token number">0</span> <span class="token comment">// disable for all `'line'` datasets</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">,</span>
elements<span class="token operator">:</span> <span class="token punctuation">{</span>
point<span class="token operator">:</span> <span class="token punctuation">{</span>
radius<span class="token operator">:</span> <span class="token number">0</span> <span class="token comment">// default to disabled in all datasets</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><h2 id="when-transpiling-with-babel-consider-using-loose-mode"><a href="#when-transpiling-with-babel-consider-using-loose-mode" class="header-anchor">#</a> When transpiling with Babel, consider using <code>loose</code> mode</h2> <p>Babel 7.9 changed the way classes are constructed. It is slow, unless used with <code>loose</code> mode.
<a href="https://github.com/babel/babel/issues/11356" target="_blank" rel="noopener noreferrer">More information<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></p></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">7/25/2021, 11:56:33 AM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
←
<a href="/docs/3.5.0/general/padding.html" class="prev">
Padding
</a></span> <span class="next"><a href="/docs/3.5.0/configuration/">
Configuration
</a>
→
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/3.5.0/assets/js/app.59cb20f3.js" defer></script><script src="/docs/3.5.0/assets/js/2.413130e4.js" defer></script><script src="/docs/3.5.0/assets/js/170.75a9c877.js" defer></script>
</body>
</html>