-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathPlugin.html
76 lines (76 loc) · 139 KB
/
Plugin.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
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Interface: Plugin | Chart.js</title>
<meta name="generator" content="VuePress 1.9.7">
<link rel="icon" href="/docs/4.2.0/favicon.ico">
<meta name="description" content="Open source HTML5 Charts for your website">
<link rel="preload" href="/docs/4.2.0/assets/css/0.styles.09d849d4.css" as="style"><link rel="preload" href="/docs/4.2.0/assets/js/app.2a761adc.js" as="script"><link rel="preload" href="/docs/4.2.0/assets/js/2.861276ab.js" as="script"><link rel="preload" href="/docs/4.2.0/assets/js/91.5d3876d2.js" as="script"><link rel="prefetch" href="/docs/4.2.0/assets/js/10.a05d7e0c.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/100.89490107.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/101.57734ea8.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/102.dfc0dcf8.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/103.5912eead.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/104.a8187c37.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/105.aabb7deb.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/106.e1c47c0f.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/107.8992624b.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/108.1eea7159.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/109.f1ff2d62.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/11.f7bad5a0.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/110.fc03989e.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/111.f5755117.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/112.4453f2a2.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/113.08ae2e84.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/114.aebac720.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/115.eee0aa91.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/116.7ebd40e6.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/117.5d6d5a55.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/118.b8470c87.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/119.cb690b9b.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/12.cb7c4244.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/120.a3212b09.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/121.2480ab16.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/122.61598676.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/123.2a8d7f21.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/124.1820704f.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/125.7dbf29de.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/126.a426029d.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/127.bc2116b8.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/128.5c59f6e1.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/129.314bdfd7.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/13.053d9dff.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/130.d6962c21.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/131.ce5db374.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/132.dec9426b.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/133.98ab4549.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/134.448bd652.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/135.2ccc6f2c.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/136.ea3ab3eb.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/137.4979ab54.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/138.5d520cd6.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/139.a11ab50b.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/14.cf610a52.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/140.37ff850f.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/141.0de8dae3.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/142.2cdc718c.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/143.b6af671e.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/144.6c2a6751.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/145.09998dec.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/146.41e2f439.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/147.10ef67f3.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/148.3c216a2b.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/149.f3fb1825.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/15.6218b5d1.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/150.35a29121.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/151.aa8bccd6.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/152.a3e249b4.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/153.93337f75.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/154.dae7ac5c.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/155.a81a81b3.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/156.fd49e9cc.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/157.afd61f6f.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/158.28f48c60.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/159.dbf15a4c.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/16.cd3bf63f.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/160.4e4fc254.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/161.7b44b3ff.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/162.86e4cf82.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/163.dec95c6e.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/164.f29d866b.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/165.10c299c5.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/166.188135a3.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/167.88f33f61.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/168.88e1fa79.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/169.b1738dff.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/17.630a3f30.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/170.d6c768e6.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/171.d2f2b7d5.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/172.df0b9c16.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/173.96f5ecf7.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/174.7cd51a8f.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/175.cf4bfbb9.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/176.35eb21b1.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/177.64aba024.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/178.bb4bd234.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/179.53a07812.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/18.d12e630c.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/180.c6b049aa.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/181.3461456c.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/182.68686681.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/183.c4a256ac.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/184.519fddcd.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/185.0c0250ea.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/186.88ad6e71.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/187.d1a5afcd.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/188.38857f67.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/189.175975e3.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/19.37504f49.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/190.e124002b.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/191.3ea32821.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/192.9d3b1a4b.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/193.9b2fbf0c.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/194.cb897c1e.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/195.4a8f8c46.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/196.a2ead6aa.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/197.e843566a.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/198.46f8b836.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/199.655feb75.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/20.bf9d98d1.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/200.e20644df.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/201.ffb93323.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/202.a6d824ae.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/203.2b1c70de.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/204.b2808a1c.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/205.f342b1be.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/206.c9ba8742.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/207.68f27ca4.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/208.86598e0b.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/209.ed3eb7b2.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/21.afc40a56.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/210.f23857fa.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/211.280caeca.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/212.613e0f4b.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/213.8f516e38.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/214.fa5ab79e.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/215.24b3bd89.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/216.8f01b739.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/217.7bf3bb2e.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/218.d7e05502.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/219.7af47c97.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/22.22dfbfd7.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/220.0b0a8104.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/221.c7f2818f.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/222.4c01ac24.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/223.c81c3207.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/224.7c61c931.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/225.115979ae.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/226.fb27cdb4.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/227.ef084abd.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/228.2dccdd2f.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/229.75284e9b.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/23.863a43f1.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/230.bc3c7749.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/231.0ec0f572.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/232.0cc9a19b.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/233.d79e6e40.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/234.91b4716f.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/235.0db113c9.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/236.c223f39c.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/237.c529d9e9.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/238.2940dd31.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/239.853793ba.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/24.c2b5516a.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/240.8a7dbacb.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/241.b88ec1eb.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/242.e54f9301.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/243.54284a32.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/244.6e4df8ee.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/245.6596ac5d.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/246.a7a0756d.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/247.89041f4f.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/248.37fa605a.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/249.18983e35.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/25.b6eaa9d8.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/250.01c032f1.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/251.ca4cfd5c.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/252.9d7752a4.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/253.3d26ab69.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/254.a1f8b18d.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/255.bde6fa8f.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/256.d62b2908.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/257.9158249b.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/258.2a0729c9.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/259.c9f744ed.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/26.d86f5ae5.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/260.c74ab442.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/261.ef5a63c2.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/27.e351b7af.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/28.01cde6cc.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/29.37faf424.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/3.6e775090.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/30.d3e439e8.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/31.920fca64.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/32.a5a9a694.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/33.beda47c3.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/34.de161d38.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/35.78ca1001.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/36.435fd9f5.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/37.edeb1fd6.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/38.159ddd60.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/39.feeedcda.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/4.f6321c8c.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/40.d228233a.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/41.8fba39ea.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/42.4ebb2766.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/43.ef1a4eb6.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/44.644835bb.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/45.fb380d41.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/46.a62f6fbe.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/47.95863938.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/48.293b077d.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/49.c4c71be0.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/5.070da527.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/50.53ce3a86.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/51.3314d1b8.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/52.93b2ff3c.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/53.d1ab001c.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/54.ef414805.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/55.73ea66a1.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/56.f002f8ef.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/57.c975f130.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/58.a7ef3bba.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/59.b8f267ee.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/6.4adc3e14.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/60.ef230479.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/61.e50f089f.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/62.401b5fa8.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/63.5d4c5f22.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/64.8388673a.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/65.f17778ac.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/66.2c982971.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/67.04a08f9b.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/68.3f6ec213.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/69.8c8d9f4f.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/7.4d1b3ed0.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/70.c0877897.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/71.f420cca2.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/72.fa40c09a.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/73.f31cdfad.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/74.9012e43f.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/75.12396757.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/76.9596b6a0.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/77.8b24cefd.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/78.e865ec81.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/79.85e0b2b4.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/8.d1642230.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/80.c5278c7d.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/81.d785573e.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/82.8a3b580f.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/83.9865d7f9.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/84.3e20e85c.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/85.e299518a.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/86.d8882e1c.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/87.e6f913e6.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/88.32e848c9.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/89.5ee8647d.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/9.46182d08.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/90.de256415.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/92.223f87e5.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/93.24d202aa.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/94.e6b2cc56.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/95.30ee4d3d.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/96.82336655.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/97.c764022d.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/98.0d23a669.js"><link rel="prefetch" href="/docs/4.2.0/assets/js/99.f97579c8.js">
<link rel="stylesheet" href="/docs/4.2.0/assets/css/0.styles.09d849d4.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/4.2.0/" class="home-link router-link-active"><img src="/docs/4.2.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/4.2.0/" class="nav-link">
Home
</a></div><div class="nav-item"><a href="/docs/4.2.0/api/" class="nav-link router-link-active">
API
</a></div><div class="nav-item"><a href="/docs/4.2.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://join.slack.com/t/chartjs/shared_invite/zt-1lo81skkk-AZk6ollhOdrjt9GzPeOsLw" 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/4.2.0/" class="nav-link">
Home
</a></div><div class="nav-item"><a href="/docs/4.2.0/api/" class="nav-link router-link-active">
API
</a></div><div class="nav-item"><a href="/docs/4.2.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://join.slack.com/t/chartjs/shared_invite/zt-1lo81skkk-AZk6ollhOdrjt9GzPeOsLw" 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><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>API</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/docs/4.2.0/api/" aria-current="page" class="sidebar-link">Exports</a></li><li><section class="sidebar-group collapsable is-sub-group depth-1"><p class="sidebar-heading"><span>Enumerations</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable is-sub-group depth-1"><p class="sidebar-heading"><span>Classes</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable is-sub-group depth-1"><p class="sidebar-heading open"><span>Interfaces</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/docs/4.2.0/api/interfaces/ActiveDataPoint.html" class="sidebar-link">ActiveDataPoint</a></li><li><a href="/docs/4.2.0/api/interfaces/ActiveElement.html" class="sidebar-link">ActiveElement</a></li><li><a href="/docs/4.2.0/api/interfaces/AnimationEvent.html" class="sidebar-link">AnimationEvent</a></li><li><a href="/docs/4.2.0/api/interfaces/ArcBorderRadius.html" class="sidebar-link">ArcBorderRadius</a></li><li><a href="/docs/4.2.0/api/interfaces/ArcHoverOptions.html" class="sidebar-link">ArcHoverOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/ArcOptions.html" class="sidebar-link">ArcOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/ArcProps.html" class="sidebar-link">ArcProps</a></li><li><a href="/docs/4.2.0/api/interfaces/BarControllerChartOptions.html" class="sidebar-link">BarControllerChartOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/BarControllerDatasetOptions.html" class="sidebar-link">BarControllerDatasetOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/BarElement.html" class="sidebar-link">BarElement</a></li><li><a href="/docs/4.2.0/api/interfaces/BarHoverOptions.html" class="sidebar-link">BarHoverOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/BarOptions.html" class="sidebar-link">BarOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/BarProps.html" class="sidebar-link">BarProps</a></li><li><a href="/docs/4.2.0/api/interfaces/BorderOptions.html" class="sidebar-link">BorderOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/BorderRadius.html" class="sidebar-link">BorderRadius</a></li><li><a href="/docs/4.2.0/api/interfaces/BubbleControllerDatasetOptions.html" class="sidebar-link">BubbleControllerDatasetOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html" class="sidebar-link">BubbleDataPoint</a></li><li><a href="/docs/4.2.0/api/interfaces/CartesianParsedData.html" class="sidebar-link">CartesianParsedData</a></li><li><a href="/docs/4.2.0/api/interfaces/CartesianScaleOptions.html" class="sidebar-link">CartesianScaleOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/CartesianScaleTypeRegistry.html" class="sidebar-link">CartesianScaleTypeRegistry</a></li><li><a href="/docs/4.2.0/api/interfaces/ChartArea.html" class="sidebar-link">ChartArea</a></li><li><a href="/docs/4.2.0/api/interfaces/ChartComponent.html" class="sidebar-link">ChartComponent</a></li><li><a href="/docs/4.2.0/api/interfaces/ChartConfiguration.html" class="sidebar-link">ChartConfiguration</a></li><li><a href="/docs/4.2.0/api/interfaces/ChartConfigurationCustomTypesPerDataset.html" class="sidebar-link">ChartConfigurationCustomTypesPerDataset</a></li><li><a href="/docs/4.2.0/api/interfaces/ChartData.html" class="sidebar-link">ChartData</a></li><li><a href="/docs/4.2.0/api/interfaces/ChartDataCustomTypesPerDataset.html" class="sidebar-link">ChartDataCustomTypesPerDataset</a></li><li><a href="/docs/4.2.0/api/interfaces/ChartDatasetProperties.html" class="sidebar-link">ChartDatasetProperties</a></li><li><a href="/docs/4.2.0/api/interfaces/ChartDatasetPropertiesCustomTypesPerDataset.html" class="sidebar-link">ChartDatasetPropertiesCustomTypesPerDataset</a></li><li><a href="/docs/4.2.0/api/interfaces/ChartEvent.html" class="sidebar-link">ChartEvent</a></li><li><a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html" class="sidebar-link">ChartTypeRegistry</a></li><li><a href="/docs/4.2.0/api/interfaces/CommonElementOptions.html" class="sidebar-link">CommonElementOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/CommonHoverOptions.html" class="sidebar-link">CommonHoverOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/ComplexFillTarget.html" class="sidebar-link">ComplexFillTarget</a></li><li><a href="/docs/4.2.0/api/interfaces/ControllerDatasetOptions.html" class="sidebar-link">ControllerDatasetOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/CoreChartOptions.html" class="sidebar-link">CoreChartOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/CoreInteractionOptions.html" class="sidebar-link">CoreInteractionOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/CoreScaleOptions.html" class="sidebar-link">CoreScaleOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/DatasetControllerChartComponent.html" class="sidebar-link">DatasetControllerChartComponent</a></li><li><a href="/docs/4.2.0/api/interfaces/Defaults.html" class="sidebar-link">Defaults</a></li><li><a href="/docs/4.2.0/api/interfaces/DoughnutAnimationOptions.html" class="sidebar-link">DoughnutAnimationOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/DoughnutController.html" class="sidebar-link">DoughnutController</a></li><li><a href="/docs/4.2.0/api/interfaces/DoughnutControllerChartOptions.html" class="sidebar-link">DoughnutControllerChartOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/DoughnutControllerDatasetOptions.html" class="sidebar-link">DoughnutControllerDatasetOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/DoughnutMetaExtensions.html" class="sidebar-link">DoughnutMetaExtensions</a></li><li><a href="/docs/4.2.0/api/interfaces/ElementOptionsByType.html" class="sidebar-link">ElementOptionsByType</a></li><li><a href="/docs/4.2.0/api/interfaces/ExtendedPlugin.html" class="sidebar-link">ExtendedPlugin</a></li><li><a href="/docs/4.2.0/api/interfaces/FillerControllerDatasetOptions.html" class="sidebar-link">FillerControllerDatasetOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/FillerOptions.html" class="sidebar-link">FillerOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/FontSpec.html" class="sidebar-link">FontSpec</a></li><li><a href="/docs/4.2.0/api/interfaces/GridLineOptions.html" class="sidebar-link">GridLineOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/InteractionItem.html" class="sidebar-link">InteractionItem</a></li><li><a href="/docs/4.2.0/api/interfaces/InteractionModeMap.html" class="sidebar-link">InteractionModeMap</a></li><li><a href="/docs/4.2.0/api/interfaces/InteractionOptions.html" class="sidebar-link">InteractionOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/LabelItem.html" class="sidebar-link">LabelItem</a></li><li><a href="/docs/4.2.0/api/interfaces/LayoutItem.html" class="sidebar-link">LayoutItem</a></li><li><a href="/docs/4.2.0/api/interfaces/LegendElement.html" class="sidebar-link">LegendElement</a></li><li><a href="/docs/4.2.0/api/interfaces/LegendItem.html" class="sidebar-link">LegendItem</a></li><li><a href="/docs/4.2.0/api/interfaces/LegendOptions.html" class="sidebar-link">LegendOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/LineControllerChartOptions.html" class="sidebar-link">LineControllerChartOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/LineControllerDatasetOptions.html" class="sidebar-link">LineControllerDatasetOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/LineElement.html" class="sidebar-link">LineElement</a></li><li><a href="/docs/4.2.0/api/interfaces/LineHoverOptions.html" class="sidebar-link">LineHoverOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/LineOptions.html" class="sidebar-link">LineOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/LineProps.html" class="sidebar-link">LineProps</a></li><li><a href="/docs/4.2.0/api/interfaces/ParsingOptions.html" class="sidebar-link">ParsingOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/Plugin.html" aria-current="page" class="active sidebar-link">Plugin</a></li><li><a href="/docs/4.2.0/api/interfaces/PluginChartOptions.html" class="sidebar-link">PluginChartOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/PluginOptionsByType.html" class="sidebar-link">PluginOptionsByType</a></li><li><a href="/docs/4.2.0/api/interfaces/Point.html" class="sidebar-link">Point</a></li><li><a href="/docs/4.2.0/api/interfaces/PointHoverOptions.html" class="sidebar-link">PointHoverOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/PointOptions.html" class="sidebar-link">PointOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/PointPrefixedHoverOptions.html" class="sidebar-link">PointPrefixedHoverOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/PointPrefixedOptions.html" class="sidebar-link">PointPrefixedOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/PolarAreaController.html" class="sidebar-link">PolarAreaController</a></li><li><a href="/docs/4.2.0/api/interfaces/PolarAreaControllerChartOptions.html" class="sidebar-link">PolarAreaControllerChartOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/PolarAreaControllerDatasetOptions.html" class="sidebar-link">PolarAreaControllerDatasetOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/RadarControllerDatasetOptions.html" class="sidebar-link">RadarControllerDatasetOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/RadialLinearScale.html" class="sidebar-link">RadialLinearScale</a></li><li><a href="/docs/4.2.0/api/interfaces/RadialScaleTypeRegistry.html" class="sidebar-link">RadialScaleTypeRegistry</a></li><li><a href="/docs/4.2.0/api/interfaces/Registry.html" class="sidebar-link">Registry</a></li><li><a href="/docs/4.2.0/api/interfaces/ScaleTypeRegistry.html" class="sidebar-link">ScaleTypeRegistry</a></li><li><a href="/docs/4.2.0/api/interfaces/ScriptableCartesianScaleContext.html" class="sidebar-link">ScriptableCartesianScaleContext</a></li><li><a href="/docs/4.2.0/api/interfaces/ScriptableChartContext.html" class="sidebar-link">ScriptableChartContext</a></li><li><a href="/docs/4.2.0/api/interfaces/ScriptableContext.html" class="sidebar-link">ScriptableContext</a></li><li><a href="/docs/4.2.0/api/interfaces/ScriptableLineSegmentContext.html" class="sidebar-link">ScriptableLineSegmentContext</a></li><li><a href="/docs/4.2.0/api/interfaces/ScriptableScaleContext.html" class="sidebar-link">ScriptableScaleContext</a></li><li><a href="/docs/4.2.0/api/interfaces/ScriptableScalePointLabelContext.html" class="sidebar-link">ScriptableScalePointLabelContext</a></li><li><a href="/docs/4.2.0/api/interfaces/ScriptableTooltipContext.html" class="sidebar-link">ScriptableTooltipContext</a></li><li><a href="/docs/4.2.0/api/interfaces/Segment.html" class="sidebar-link">Segment</a></li><li><a href="/docs/4.2.0/api/interfaces/Tick.html" class="sidebar-link">Tick</a></li><li><a href="/docs/4.2.0/api/interfaces/TickOptions.html" class="sidebar-link">TickOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/TimeScale.html" class="sidebar-link">TimeScale</a></li><li><a href="/docs/4.2.0/api/interfaces/TitleOptions.html" class="sidebar-link">TitleOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/Tooltip.html" class="sidebar-link">Tooltip</a></li><li><a href="/docs/4.2.0/api/interfaces/TooltipCallbacks.html" class="sidebar-link">TooltipCallbacks</a></li><li><a href="/docs/4.2.0/api/interfaces/TooltipItem.html" class="sidebar-link">TooltipItem</a></li><li><a href="/docs/4.2.0/api/interfaces/TooltipLabelStyle.html" class="sidebar-link">TooltipLabelStyle</a></li><li><a href="/docs/4.2.0/api/interfaces/TooltipModel.html" class="sidebar-link">TooltipModel</a></li><li><a href="/docs/4.2.0/api/interfaces/TooltipOptions.html" class="sidebar-link">TooltipOptions</a></li><li><a href="/docs/4.2.0/api/interfaces/TooltipPosition.html" class="sidebar-link">TooltipPosition</a></li><li><a href="/docs/4.2.0/api/interfaces/TooltipPositionerMap.html" class="sidebar-link">TooltipPositionerMap</a></li><li><a href="/docs/4.2.0/api/interfaces/TypedRegistry.html" class="sidebar-link">TypedRegistry</a></li><li><a href="/docs/4.2.0/api/interfaces/VisualElement.html" class="sidebar-link">VisualElement</a></li></ul></section></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="interface-plugin-ttype-o"><a href="#interface-plugin-ttype-o" class="header-anchor">#</a> Interface: Plugin<TType, O></h1> <h2 id="type-parameters"><a href="#type-parameters" class="header-anchor">#</a> Type parameters</h2> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>TType</code></td> <td style="text-align:left;">extends <a href="/docs/4.2.0/api/#charttype"><code>ChartType</code></a> = <a href="/docs/4.2.0/api/#charttype"><code>ChartType</code></a></td></tr> <tr><td style="text-align:left;"><code>O</code></td> <td style="text-align:left;"><code>AnyObject</code></td></tr></tbody></table> <h2 id="hierarchy"><a href="#hierarchy" class="header-anchor">#</a> Hierarchy</h2> <ul><li><p><a href="/docs/4.2.0/api/interfaces/ExtendedPlugin.html"><code>ExtendedPlugin</code></a><<code>TType</code>, <code>O</code>></p> <p>↳ <strong><code>Plugin</code></strong></p> <p>↳↳ <a href="/docs/4.2.0/api/interfaces/Tooltip.html"><code>Tooltip</code></a></p></li></ul> <h2 id="properties"><a href="#properties" class="header-anchor">#</a> Properties</h2> <h3 id="defaults"><a href="#defaults" class="header-anchor">#</a> defaults</h3> <p>• <code>Optional</code> <strong>defaults</strong>: <code>Partial</code><<code>O</code>></p> <p>Default options used in the plugin</p> <h4 id="defined-in"><a href="#defined-in" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L1115" target="_blank" rel="noopener noreferrer">types/index.d.ts:1115<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> <hr> <h3 id="id"><a href="#id" class="header-anchor">#</a> id</h3> <p>• <strong>id</strong>: <code>string</code></p> <h4 id="defined-in-2"><a href="#defined-in-2" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L816" target="_blank" rel="noopener noreferrer">types/index.d.ts:816<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> <h2 id="methods"><a href="#methods" class="header-anchor">#</a> Methods</h2> <h3 id="afterbuildticks"><a href="#afterbuildticks" class="header-anchor">#</a> afterBuildTicks</h3> <p>▸ <code>Optional</code> <strong>afterBuildTicks</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called after scale has build its ticks. This hook is called separately for each scale in the chart.</p> <h4 id="parameters"><a href="#parameters" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.scale</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Scale.html"><code>Scale</code></a><<a href="/docs/4.2.0/api/interfaces/CoreScaleOptions.html"><code>CoreScaleOptions</code></a>></td> <td style="text-align:left;">The scale.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns"><a href="#returns" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-3"><a href="#defined-in-3" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L975" target="_blank" rel="noopener noreferrer">types/index.d.ts:975<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> <hr> <h3 id="afterdatalimits"><a href="#afterdatalimits" class="header-anchor">#</a> afterDataLimits</h3> <p>▸ <code>Optional</code> <strong>afterDataLimits</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called after scale data limits are calculated. This hook is called separately for each scale in the chart.</p> <h4 id="parameters-2"><a href="#parameters-2" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.scale</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Scale.html"><code>Scale</code></a><<a href="/docs/4.2.0/api/interfaces/CoreScaleOptions.html"><code>CoreScaleOptions</code></a>></td> <td style="text-align:left;">The scale.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-2"><a href="#returns-2" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-4"><a href="#defined-in-4" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L959" target="_blank" rel="noopener noreferrer">types/index.d.ts:959<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> <hr> <h3 id="afterdatasetdraw"><a href="#afterdatasetdraw" class="header-anchor">#</a> afterDatasetDraw</h3> <p>▸ <code>Optional</code> <strong>afterDatasetDraw</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called after the <code>chart</code> datasets at the given <code>args.index</code> have been drawn
(datasets are drawn in the reverse order). Note that this hook will not be called
if the datasets drawing has been previously cancelled.</p> <h4 id="parameters-3"><a href="#parameters-3" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.index</code></td> <td style="text-align:left;"><code>number</code></td> <td style="text-align:left;">The dataset index.</td></tr> <tr><td style="text-align:left;"><code>args.meta</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/#chartmeta"><code>ChartMeta</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, <code>default</code><<code>AnyObject</code>, <code>AnyObject</code>>, <code>default</code><<code>AnyObject</code>, <code>AnyObject</code>>></td> <td style="text-align:left;">The dataset metadata.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-3"><a href="#returns-3" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-5"><a href="#defined-in-5" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L1057" target="_blank" rel="noopener noreferrer">types/index.d.ts:1057<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> <hr> <h3 id="afterdatasetupdate"><a href="#afterdatasetupdate" class="header-anchor">#</a> afterDatasetUpdate</h3> <p>▸ <code>Optional</code> <strong>afterDatasetUpdate</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called after the <code>chart</code> datasets at the given <code>args.index</code> has been updated. Note
that this hook will not be called if the datasets update has been previously cancelled.</p> <h4 id="parameters-4"><a href="#parameters-4" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.cancelable</code></td> <td style="text-align:left;"><code>false</code></td> <td style="text-align:left;">-</td></tr> <tr><td style="text-align:left;"><code>args.index</code></td> <td style="text-align:left;"><code>number</code></td> <td style="text-align:left;">The dataset index.</td></tr> <tr><td style="text-align:left;"><code>args.meta</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/#chartmeta"><code>ChartMeta</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, <code>default</code><<code>AnyObject</code>, <code>AnyObject</code>>, <code>default</code><<code>AnyObject</code>, <code>AnyObject</code>>></td> <td style="text-align:left;">The dataset metadata.</td></tr> <tr><td style="text-align:left;"><code>args.mode</code></td> <td style="text-align:left;"><code>"none"</code> | <code>"hide"</code> | <code>"show"</code> | <code>"default"</code> | <code>"active"</code> | <code>"resize"</code> | <code>"reset"</code></td> <td style="text-align:left;">The update mode.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-4"><a href="#returns-4" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-6"><a href="#defined-in-6" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L934" target="_blank" rel="noopener noreferrer">types/index.d.ts:934<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> <hr> <h3 id="afterdatasetsdraw"><a href="#afterdatasetsdraw" class="header-anchor">#</a> afterDatasetsDraw</h3> <p>▸ <code>Optional</code> <strong>afterDatasetsDraw</strong>(<code>chart</code>, <code>args</code>, <code>options</code>, <code>cancelable</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called after the <code>chart</code> datasets have been drawn. Note that this hook
will not be called if the datasets drawing has been previously cancelled.</p> <h4 id="parameters-5"><a href="#parameters-5" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>EmptyObject</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr> <tr><td style="text-align:left;"><code>cancelable</code></td> <td style="text-align:left;"><code>false</code></td> <td style="text-align:left;">-</td></tr></tbody></table> <h4 id="returns-5"><a href="#returns-5" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-7"><a href="#defined-in-7" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L1034" target="_blank" rel="noopener noreferrer">types/index.d.ts:1034<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> <hr> <h3 id="afterdatasetsupdate"><a href="#afterdatasetsupdate" class="header-anchor">#</a> afterDatasetsUpdate</h3> <p>▸ <code>Optional</code> <strong>afterDatasetsUpdate</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called after the <code>chart</code> datasets have been updated. Note that this hook
will not be called if the datasets update has been previously cancelled.</p> <p><strong><code>Since</code></strong></p> <p>version 2.1.5</p> <h4 id="parameters-6"><a href="#parameters-6" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.cancelable</code></td> <td style="text-align:left;"><code>true</code></td> <td style="text-align:left;">-</td></tr> <tr><td style="text-align:left;"><code>args.mode</code></td> <td style="text-align:left;"><code>"none"</code> | <code>"hide"</code> | <code>"show"</code> | <code>"default"</code> | <code>"active"</code> | <code>"resize"</code> | <code>"reset"</code></td> <td style="text-align:left;">The update mode.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-6"><a href="#returns-6" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-8"><a href="#defined-in-8" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L911" target="_blank" rel="noopener noreferrer">types/index.d.ts:911<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> <hr> <h3 id="afterdestroy"><a href="#afterdestroy" class="header-anchor">#</a> afterDestroy</h3> <p>▸ <code>Optional</code> <strong>afterDestroy</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p>Called after the chart has been destroyed.</p> <h4 id="parameters-7"><a href="#parameters-7" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>EmptyObject</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-7"><a href="#returns-7" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-9"><a href="#defined-in-9" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L1102" target="_blank" rel="noopener noreferrer">types/index.d.ts:1102<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> <hr> <h3 id="afterdraw"><a href="#afterdraw" class="header-anchor">#</a> afterDraw</h3> <p>▸ <code>Optional</code> <strong>afterDraw</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called after the <code>chart</code> has been drawn. Note that this hook will not be called
if the drawing has been previously cancelled.</p> <h4 id="parameters-8"><a href="#parameters-8" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>EmptyObject</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-8"><a href="#returns-8" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-10"><a href="#defined-in-10" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L1017" target="_blank" rel="noopener noreferrer">types/index.d.ts:1017<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> <hr> <h3 id="afterevent"><a href="#afterevent" class="header-anchor">#</a> afterEvent</h3> <p>▸ <code>Optional</code> <strong>afterEvent</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called after the <code>event</code> has been consumed. Note that this hook
will not be called if the <code>event</code> has been previously discarded.</p> <h4 id="parameters-9"><a href="#parameters-9" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.cancelable</code></td> <td style="text-align:left;"><code>false</code></td> <td style="text-align:left;">-</td></tr> <tr><td style="text-align:left;"><code>args.changed?</code></td> <td style="text-align:left;"><code>boolean</code></td> <td style="text-align:left;">Set to true if the plugin needs a render. Should only be changed to true, because this args object is passed through all plugins.</td></tr> <tr><td style="text-align:left;"><code>args.event</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/interfaces/ChartEvent.html"><code>ChartEvent</code></a></td> <td style="text-align:left;">The event object.</td></tr> <tr><td style="text-align:left;"><code>args.inChartArea</code></td> <td style="text-align:left;"><code>boolean</code></td> <td style="text-align:left;">The event position is inside chartArea</td></tr> <tr><td style="text-align:left;"><code>args.replay</code></td> <td style="text-align:left;"><code>boolean</code></td> <td style="text-align:left;">True if this event is replayed from <code>Chart.update</code></td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-9"><a href="#returns-9" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-11"><a href="#defined-in-11" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L1080" target="_blank" rel="noopener noreferrer">types/index.d.ts:1080<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> <hr> <h3 id="afterinit"><a href="#afterinit" class="header-anchor">#</a> afterInit</h3> <p>▸ <code>Optional</code> <strong>afterInit</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called after <code>chart</code> has been initialized and before the first update.</p> <h4 id="parameters-10"><a href="#parameters-10" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>EmptyObject</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-10"><a href="#returns-10" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-12"><a href="#defined-in-12" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L855" target="_blank" rel="noopener noreferrer">types/index.d.ts:855<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> <hr> <h3 id="afterlayout"><a href="#afterlayout" class="header-anchor">#</a> afterLayout</h3> <p>▸ <code>Optional</code> <strong>afterLayout</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called after the <code>chart</code> has been laid out. Note that this hook will not
be called if the layout update has been previously cancelled.</p> <h4 id="parameters-11"><a href="#parameters-11" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>EmptyObject</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-11"><a href="#returns-11" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-13"><a href="#defined-in-13" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L983" target="_blank" rel="noopener noreferrer">types/index.d.ts:983<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> <hr> <h3 id="afterrender"><a href="#afterrender" class="header-anchor">#</a> afterRender</h3> <p>▸ <code>Optional</code> <strong>afterRender</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called after the <code>chart</code> has been fully rendered (and animation completed). Note
that this hook will not be called if the rendering has been previously cancelled.</p> <h4 id="parameters-12"><a href="#parameters-12" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>EmptyObject</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-12"><a href="#returns-12" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-14"><a href="#defined-in-14" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L1000" target="_blank" rel="noopener noreferrer">types/index.d.ts:1000<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> <hr> <h3 id="aftertooltipdraw"><a href="#aftertooltipdraw" class="header-anchor">#</a> afterTooltipDraw</h3> <p>▸ <code>Optional</code> <strong>afterTooltipDraw</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called after drawing the <code>tooltip</code>. Note that this hook will not
be called if the tooltip drawing has been previously cancelled.</p> <h4 id="parameters-13"><a href="#parameters-13" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.tooltip</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/interfaces/TooltipModel.html"><code>TooltipModel</code></a><<code>TType</code>></td> <td style="text-align:left;">The tooltip.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-13"><a href="#returns-13" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="inherited-from"><a href="#inherited-from" class="header-anchor">#</a> Inherited from</h4> <p><a href="/docs/4.2.0/api/interfaces/ExtendedPlugin.html">ExtendedPlugin</a>.<a href="/docs/4.2.0/api/interfaces/ExtendedPlugin.html#aftertooltipdraw">afterTooltipDraw</a></p> <h4 id="defined-in-15"><a href="#defined-in-15" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L2558" target="_blank" rel="noopener noreferrer">types/index.d.ts:2558<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> <hr> <h3 id="afterupdate"><a href="#afterupdate" class="header-anchor">#</a> afterUpdate</h3> <p>▸ <code>Optional</code> <strong>afterUpdate</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called after <code>chart</code> has been updated and before rendering. Note that this
hook will not be called if the chart update has been previously cancelled.</p> <h4 id="parameters-14"><a href="#parameters-14" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.mode</code></td> <td style="text-align:left;"><code>"none"</code> | <code>"hide"</code> | <code>"show"</code> | <code>"default"</code> | <code>"active"</code> | <code>"resize"</code> | <code>"reset"</code></td> <td style="text-align:left;">The update mode</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-14"><a href="#returns-14" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-16"><a href="#defined-in-16" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L874" target="_blank" rel="noopener noreferrer">types/index.d.ts:874<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> <hr> <h3 id="beforebuildticks"><a href="#beforebuildticks" class="header-anchor">#</a> beforeBuildTicks</h3> <p>▸ <code>Optional</code> <strong>beforeBuildTicks</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called before scale builds its ticks. This hook is called separately for each scale in the chart.</p> <h4 id="parameters-15"><a href="#parameters-15" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.scale</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Scale.html"><code>Scale</code></a><<a href="/docs/4.2.0/api/interfaces/CoreScaleOptions.html"><code>CoreScaleOptions</code></a>></td> <td style="text-align:left;">The scale.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-15"><a href="#returns-15" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-17"><a href="#defined-in-17" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L967" target="_blank" rel="noopener noreferrer">types/index.d.ts:967<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> <hr> <h3 id="beforedatalimits"><a href="#beforedatalimits" class="header-anchor">#</a> beforeDataLimits</h3> <p>▸ <code>Optional</code> <strong>beforeDataLimits</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called before scale data limits are calculated. This hook is called separately for each scale in the chart.</p> <h4 id="parameters-16"><a href="#parameters-16" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.scale</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Scale.html"><code>Scale</code></a><<a href="/docs/4.2.0/api/interfaces/CoreScaleOptions.html"><code>CoreScaleOptions</code></a>></td> <td style="text-align:left;">The scale.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-16"><a href="#returns-16" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-18"><a href="#defined-in-18" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L951" target="_blank" rel="noopener noreferrer">types/index.d.ts:951<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> <hr> <h3 id="beforedatasetdraw"><a href="#beforedatasetdraw" class="header-anchor">#</a> beforeDatasetDraw</h3> <p>▸ <code>Optional</code> <strong>beforeDatasetDraw</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>boolean</code> | <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called before drawing the <code>chart</code> dataset at the given <code>args.index</code> (datasets
are drawn in the reverse order). If any plugin returns <code>false</code>, the datasets drawing
is cancelled until another <code>render</code> is triggered.</p> <h4 id="parameters-17"><a href="#parameters-17" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.index</code></td> <td style="text-align:left;"><code>number</code></td> <td style="text-align:left;">The dataset index.</td></tr> <tr><td style="text-align:left;"><code>args.meta</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/#chartmeta"><code>ChartMeta</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, <code>default</code><<code>AnyObject</code>, <code>AnyObject</code>>, <code>default</code><<code>AnyObject</code>, <code>AnyObject</code>>></td> <td style="text-align:left;">The dataset metadata.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-17"><a href="#returns-17" class="header-anchor">#</a> Returns</h4> <p><code>boolean</code> | <code>void</code></p> <p><code>false</code> to cancel the chart datasets drawing.</p> <h4 id="defined-in-19"><a href="#defined-in-19" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L1046" target="_blank" rel="noopener noreferrer">types/index.d.ts:1046<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> <hr> <h3 id="beforedatasetupdate"><a href="#beforedatasetupdate" class="header-anchor">#</a> beforeDatasetUpdate</h3> <p>▸ <code>Optional</code> <strong>beforeDatasetUpdate</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>boolean</code> | <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called before updating the <code>chart</code> dataset at the given <code>args.index</code>. If any plugin
returns <code>false</code>, the datasets update is cancelled until another <code>update</code> is triggered.</p> <h4 id="parameters-18"><a href="#parameters-18" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.cancelable</code></td> <td style="text-align:left;"><code>true</code></td> <td style="text-align:left;">-</td></tr> <tr><td style="text-align:left;"><code>args.index</code></td> <td style="text-align:left;"><code>number</code></td> <td style="text-align:left;">The dataset index.</td></tr> <tr><td style="text-align:left;"><code>args.meta</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/#chartmeta"><code>ChartMeta</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, <code>default</code><<code>AnyObject</code>, <code>AnyObject</code>>, <code>default</code><<code>AnyObject</code>, <code>AnyObject</code>>></td> <td style="text-align:left;">The dataset metadata.</td></tr> <tr><td style="text-align:left;"><code>args.mode</code></td> <td style="text-align:left;"><code>"none"</code> | <code>"hide"</code> | <code>"show"</code> | <code>"default"</code> | <code>"active"</code> | <code>"resize"</code> | <code>"reset"</code></td> <td style="text-align:left;">The update mode.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-18"><a href="#returns-18" class="header-anchor">#</a> Returns</h4> <p><code>boolean</code> | <code>void</code></p> <p><code>false</code> to cancel the chart datasets drawing.</p> <h4 id="defined-in-20"><a href="#defined-in-20" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L923" target="_blank" rel="noopener noreferrer">types/index.d.ts:923<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> <hr> <h3 id="beforedatasetsdraw"><a href="#beforedatasetsdraw" class="header-anchor">#</a> beforeDatasetsDraw</h3> <p>▸ <code>Optional</code> <strong>beforeDatasetsDraw</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>boolean</code> | <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called before drawing the <code>chart</code> datasets. If any plugin returns <code>false</code>,
the datasets drawing is cancelled until another <code>render</code> is triggered.</p> <h4 id="parameters-19"><a href="#parameters-19" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.cancelable</code></td> <td style="text-align:left;"><code>true</code></td> <td style="text-align:left;">-</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-19"><a href="#returns-19" class="header-anchor">#</a> Returns</h4> <p><code>boolean</code> | <code>void</code></p> <p><code>false</code> to cancel the chart datasets drawing.</p> <h4 id="defined-in-21"><a href="#defined-in-21" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L1026" target="_blank" rel="noopener noreferrer">types/index.d.ts:1026<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> <hr> <h3 id="beforedatasetsupdate"><a href="#beforedatasetsupdate" class="header-anchor">#</a> beforeDatasetsUpdate</h3> <p>▸ <code>Optional</code> <strong>beforeDatasetsUpdate</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>boolean</code> | <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called before updating the <code>chart</code> datasets. If any plugin returns <code>false</code>,
the datasets update is cancelled until another <code>update</code> is triggered.</p> <p><strong><code>Since</code></strong></p> <p>version 2.1.5</p> <h4 id="parameters-20"><a href="#parameters-20" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.mode</code></td> <td style="text-align:left;"><code>"none"</code> | <code>"hide"</code> | <code>"show"</code> | <code>"default"</code> | <code>"active"</code> | <code>"resize"</code> | <code>"reset"</code></td> <td style="text-align:left;">The update mode.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-20"><a href="#returns-20" class="header-anchor">#</a> Returns</h4> <p><code>boolean</code> | <code>void</code></p> <p>false to cancel the datasets update.</p> <h4 id="defined-in-22"><a href="#defined-in-22" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L901" target="_blank" rel="noopener noreferrer">types/index.d.ts:901<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> <hr> <h3 id="beforedestroy"><a href="#beforedestroy" class="header-anchor">#</a> beforeDestroy</h3> <p>▸ <code>Optional</code> <strong>beforeDestroy</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p>Called before the chart is being destroyed.</p> <h4 id="parameters-21"><a href="#parameters-21" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>EmptyObject</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-21"><a href="#returns-21" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-23"><a href="#defined-in-23" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L1095" target="_blank" rel="noopener noreferrer">types/index.d.ts:1095<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> <hr> <h3 id="beforedraw"><a href="#beforedraw" class="header-anchor">#</a> beforeDraw</h3> <p>▸ <code>Optional</code> <strong>beforeDraw</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>boolean</code> | <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called before drawing <code>chart</code> at every animation frame. If any plugin returns <code>false</code>,
the frame drawing is cancelled untilanother <code>render</code> is triggered.</p> <h4 id="parameters-22"><a href="#parameters-22" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.cancelable</code></td> <td style="text-align:left;"><code>true</code></td> <td style="text-align:left;">-</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-22"><a href="#returns-22" class="header-anchor">#</a> Returns</h4> <p><code>boolean</code> | <code>void</code></p> <p><code>false</code> to cancel the chart drawing.</p> <h4 id="defined-in-24"><a href="#defined-in-24" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L1009" target="_blank" rel="noopener noreferrer">types/index.d.ts:1009<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> <hr> <h3 id="beforeelementsupdate"><a href="#beforeelementsupdate" class="header-anchor">#</a> beforeElementsUpdate</h3> <p>▸ <code>Optional</code> <strong>beforeElementsUpdate</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called during the update process, before any chart elements have been created.
This can be used for data decimation by changing the data array inside a dataset.</p> <h4 id="parameters-23"><a href="#parameters-23" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>EmptyObject</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-23"><a href="#returns-23" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-25"><a href="#defined-in-25" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L882" target="_blank" rel="noopener noreferrer">types/index.d.ts:882<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> <hr> <h3 id="beforeevent"><a href="#beforeevent" class="header-anchor">#</a> beforeEvent</h3> <p>▸ <code>Optional</code> <strong>beforeEvent</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>boolean</code> | <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called before processing the specified <code>event</code>. If any plugin returns <code>false</code>,
the event will be discarded.</p> <h4 id="parameters-24"><a href="#parameters-24" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.cancelable</code></td> <td style="text-align:left;"><code>true</code></td> <td style="text-align:left;">-</td></tr> <tr><td style="text-align:left;"><code>args.event</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/interfaces/ChartEvent.html"><code>ChartEvent</code></a></td> <td style="text-align:left;">The event object.</td></tr> <tr><td style="text-align:left;"><code>args.inChartArea</code></td> <td style="text-align:left;"><code>boolean</code></td> <td style="text-align:left;">The event position is inside chartArea</td></tr> <tr><td style="text-align:left;"><code>args.replay</code></td> <td style="text-align:left;"><code>boolean</code></td> <td style="text-align:left;">True if this event is replayed from <code>Chart.update</code></td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-24"><a href="#returns-24" class="header-anchor">#</a> Returns</h4> <p><code>boolean</code> | <code>void</code></p> <h4 id="defined-in-26"><a href="#defined-in-26" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L1068" target="_blank" rel="noopener noreferrer">types/index.d.ts:1068<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> <hr> <h3 id="beforeinit"><a href="#beforeinit" class="header-anchor">#</a> beforeInit</h3> <p>▸ <code>Optional</code> <strong>beforeInit</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called before initializing <code>chart</code>.</p> <h4 id="parameters-25"><a href="#parameters-25" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>EmptyObject</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-25"><a href="#returns-25" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-27"><a href="#defined-in-27" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L848" target="_blank" rel="noopener noreferrer">types/index.d.ts:848<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> <hr> <h3 id="beforelayout"><a href="#beforelayout" class="header-anchor">#</a> beforeLayout</h3> <p>▸ <code>Optional</code> <strong>beforeLayout</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>boolean</code> | <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called before laying out <code>chart</code>. If any plugin returns <code>false</code>,
the layout update is cancelled until another <code>update</code> is triggered.</p> <h4 id="parameters-26"><a href="#parameters-26" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.cancelable</code></td> <td style="text-align:left;"><code>true</code></td> <td style="text-align:left;">-</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-26"><a href="#returns-26" class="header-anchor">#</a> Returns</h4> <p><code>boolean</code> | <code>void</code></p> <p><code>false</code> to cancel the chart layout.</p> <h4 id="defined-in-28"><a href="#defined-in-28" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L943" target="_blank" rel="noopener noreferrer">types/index.d.ts:943<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> <hr> <h3 id="beforerender"><a href="#beforerender" class="header-anchor">#</a> beforeRender</h3> <p>▸ <code>Optional</code> <strong>beforeRender</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>boolean</code> | <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called before rendering <code>chart</code>. If any plugin returns <code>false</code>,
the rendering is cancelled until another <code>render</code> is triggered.</p> <h4 id="parameters-27"><a href="#parameters-27" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.cancelable</code></td> <td style="text-align:left;"><code>true</code></td> <td style="text-align:left;">-</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-27"><a href="#returns-27" class="header-anchor">#</a> Returns</h4> <p><code>boolean</code> | <code>void</code></p> <p><code>false</code> to cancel the chart rendering.</p> <h4 id="defined-in-29"><a href="#defined-in-29" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L992" target="_blank" rel="noopener noreferrer">types/index.d.ts:992<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> <hr> <h3 id="beforetooltipdraw"><a href="#beforetooltipdraw" class="header-anchor">#</a> beforeTooltipDraw</h3> <p>▸ <code>Optional</code> <strong>beforeTooltipDraw</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>boolean</code> | <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called before drawing the <code>tooltip</code>. If any plugin returns <code>false</code>,
the tooltip drawing is cancelled until another <code>render</code> is triggered.</p> <h4 id="parameters-28"><a href="#parameters-28" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.cancelable</code></td> <td style="text-align:left;"><code>true</code></td> <td style="text-align:left;">-</td></tr> <tr><td style="text-align:left;"><code>args.tooltip</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/interfaces/TooltipModel.html"><code>TooltipModel</code></a><<code>TType</code>></td> <td style="text-align:left;">The tooltip.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-28"><a href="#returns-28" class="header-anchor">#</a> Returns</h4> <p><code>boolean</code> | <code>void</code></p> <p><code>false</code> to cancel the chart tooltip drawing.</p> <h4 id="inherited-from-2"><a href="#inherited-from-2" class="header-anchor">#</a> Inherited from</h4> <p><a href="/docs/4.2.0/api/interfaces/ExtendedPlugin.html">ExtendedPlugin</a>.<a href="/docs/4.2.0/api/interfaces/ExtendedPlugin.html#beforetooltipdraw">beforeTooltipDraw</a></p> <h4 id="defined-in-30"><a href="#defined-in-30" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L2549" target="_blank" rel="noopener noreferrer">types/index.d.ts:2549<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> <hr> <h3 id="beforeupdate"><a href="#beforeupdate" class="header-anchor">#</a> beforeUpdate</h3> <p>▸ <code>Optional</code> <strong>beforeUpdate</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>boolean</code> | <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called before updating <code>chart</code>. If any plugin returns <code>false</code>, the update
is cancelled (and thus subsequent render(s)) until another <code>update</code> is triggered.</p> <h4 id="parameters-29"><a href="#parameters-29" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.cancelable</code></td> <td style="text-align:left;"><code>true</code></td> <td style="text-align:left;">-</td></tr> <tr><td style="text-align:left;"><code>args.mode</code></td> <td style="text-align:left;"><code>"none"</code> | <code>"hide"</code> | <code>"show"</code> | <code>"default"</code> | <code>"active"</code> | <code>"resize"</code> | <code>"reset"</code></td> <td style="text-align:left;">The update mode</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-29"><a href="#returns-29" class="header-anchor">#</a> Returns</h4> <p><code>boolean</code> | <code>void</code></p> <p><code>false</code> to cancel the chart update.</p> <h4 id="defined-in-31"><a href="#defined-in-31" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L865" target="_blank" rel="noopener noreferrer">types/index.d.ts:865<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> <hr> <h3 id="install"><a href="#install" class="header-anchor">#</a> install</h3> <p>▸ <code>Optional</code> <strong>install</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called when plugin is installed for this chart instance. This hook is also invoked for disabled plugins (options === false).</p> <p><strong><code>Since</code></strong></p> <p>3.0.0</p> <h4 id="parameters-30"><a href="#parameters-30" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>EmptyObject</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-30"><a href="#returns-30" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-32"><a href="#defined-in-32" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L825" target="_blank" rel="noopener noreferrer">types/index.d.ts:825<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> <hr> <h3 id="reset"><a href="#reset" class="header-anchor">#</a> reset</h3> <p>▸ <code>Optional</code> <strong>reset</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called during chart reset</p> <p><strong><code>Since</code></strong></p> <p>version 3.0.0</p> <h4 id="parameters-31"><a href="#parameters-31" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>EmptyObject</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-31"><a href="#returns-31" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-33"><a href="#defined-in-33" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L890" target="_blank" rel="noopener noreferrer">types/index.d.ts:890<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> <hr> <h3 id="resize"><a href="#resize" class="header-anchor">#</a> resize</h3> <p>▸ <code>Optional</code> <strong>resize</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called after the chart as been resized.</p> <h4 id="parameters-32"><a href="#parameters-32" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>args.size</code></td> <td style="text-align:left;"><code>Object</code></td> <td style="text-align:left;">The new canvas display size (eq. canvas.style width & height).</td></tr> <tr><td style="text-align:left;"><code>args.size.height</code></td> <td style="text-align:left;"><code>number</code></td> <td style="text-align:left;">-</td></tr> <tr><td style="text-align:left;"><code>args.size.width</code></td> <td style="text-align:left;"><code>number</code></td> <td style="text-align:left;">-</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-32"><a href="#returns-32" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-34"><a href="#defined-in-34" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L1088" target="_blank" rel="noopener noreferrer">types/index.d.ts:1088<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> <hr> <h3 id="start"><a href="#start" class="header-anchor">#</a> start</h3> <p>▸ <code>Optional</code> <strong>start</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called when a plugin is starting. This happens when chart is created or plugin is enabled.</p> <p><strong><code>Since</code></strong></p> <p>3.0.0</p> <h4 id="parameters-33"><a href="#parameters-33" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>EmptyObject</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-33"><a href="#returns-33" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-35"><a href="#defined-in-35" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L833" target="_blank" rel="noopener noreferrer">types/index.d.ts:833<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> <hr> <h3 id="stop"><a href="#stop" class="header-anchor">#</a> stop</h3> <p>▸ <code>Optional</code> <strong>stop</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p><strong><code>Desc</code></strong></p> <p>Called when a plugin stopping. This happens when chart is destroyed or plugin is disabled.</p> <p><strong><code>Since</code></strong></p> <p>3.0.0</p> <h4 id="parameters-34"><a href="#parameters-34" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>EmptyObject</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-34"><a href="#returns-34" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-36"><a href="#defined-in-36" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L841" target="_blank" rel="noopener noreferrer">types/index.d.ts:841<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> <hr> <h3 id="uninstall"><a href="#uninstall" class="header-anchor">#</a> uninstall</h3> <p>▸ <code>Optional</code> <strong>uninstall</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p>Called after chart is destroyed on all plugins that were installed for that chart. This hook is also invoked for disabled plugins (options === false).</p> <p><strong><code>Since</code></strong></p> <p>3.0.0</p> <h4 id="parameters-35"><a href="#parameters-35" class="header-anchor">#</a> Parameters</h4> <table><thead><tr><th style="text-align:left;">Name</th> <th style="text-align:left;">Type</th> <th style="text-align:left;">Description</th></tr></thead> <tbody><tr><td style="text-align:left;"><code>chart</code></td> <td style="text-align:left;"><a href="/docs/4.2.0/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/4.2.0/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | [<code>number</code>, <code>number</code>] | <a href="/docs/4.2.0/api/interfaces/Point.html"><code>Point</code></a> | <a href="/docs/4.2.0/api/interfaces/BubbleDataPoint.html"><code>BubbleDataPoint</code></a>)[], <code>unknown</code>></td> <td style="text-align:left;">The chart instance.</td></tr> <tr><td style="text-align:left;"><code>args</code></td> <td style="text-align:left;"><code>EmptyObject</code></td> <td style="text-align:left;">The call arguments.</td></tr> <tr><td style="text-align:left;"><code>options</code></td> <td style="text-align:left;"><code>O</code></td> <td style="text-align:left;">The plugin options.</td></tr></tbody></table> <h4 id="returns-35"><a href="#returns-35" class="header-anchor">#</a> Returns</h4> <p><code>void</code></p> <h4 id="defined-in-37"><a href="#defined-in-37" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/1d7dfad/src/types/index.d.ts#L1110" target="_blank" rel="noopener noreferrer">types/index.d.ts:1110<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"><!----> <!----></footer> <div class="page-nav"><p class="inner"><span class="prev">
←
<a href="/docs/4.2.0/api/interfaces/ParsingOptions.html" class="prev">
ParsingOptions
</a></span> <span class="next"><a href="/docs/4.2.0/api/interfaces/PluginChartOptions.html">
PluginChartOptions
</a>
→
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/4.2.0/assets/js/app.2a761adc.js" defer></script><script src="/docs/4.2.0/assets/js/2.861276ab.js" defer></script><script src="/docs/4.2.0/assets/js/91.5d3876d2.js" defer></script>
</body>
</html>