Repository navigation
Expand file tree
/
Copy pathPlugin.html
More file actions
76 lines (76 loc) · 139 KB
/
Copy pathPlugin.html
File metadata and controls
76 lines (76 loc) · 139 KB
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.8.3">
<link rel="icon" href="/docs/3.8.2/favicon.ico">
<meta name="description" content="Open source HTML5 Charts for your website">
<link rel="preload" href="/docs/3.8.2/assets/css/0.styles.3fce5b00.css" as="style"><link rel="preload" href="/docs/3.8.2/assets/js/app.c111da59.js" as="script"><link rel="preload" href="/docs/3.8.2/assets/js/2.2c6184c9.js" as="script"><link rel="preload" href="/docs/3.8.2/assets/js/86.c7aaa13a.js" as="script"><link rel="prefetch" href="/docs/3.8.2/assets/js/10.854d336e.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/100.b1c90bef.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/101.ee6865cd.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/102.043f739d.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/103.9abeb170.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/104.806c47ac.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/105.69ebc565.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/106.4eb54b93.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/107.e7a708d1.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/108.64308d8b.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/109.f41f900a.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/11.b4941fda.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/110.5f5c9e23.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/111.f1ce571c.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/112.f1f16615.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/113.b17b1fad.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/114.0f93af47.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/115.b854f71a.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/116.2cf64b6c.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/117.f03e3f76.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/118.cdb7d4f8.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/119.fe63c84d.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/12.db869e2a.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/120.4a7bb505.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/121.b7c55410.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/122.38cff719.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/123.5cdf62c5.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/124.cdc63fe2.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/125.a053aba2.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/126.c9ad5c5f.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/127.f5f5a4d4.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/128.9138c8c9.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/129.a072cc87.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/13.66f1669c.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/130.38275235.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/131.c312472b.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/132.970bec35.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/133.42c70168.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/134.98e4a6ff.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/135.3a4d193d.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/136.c2d7655b.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/137.ae9a3679.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/138.f954d6bd.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/139.9b02210c.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/14.de8c1d05.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/140.8ef8b889.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/141.0bd6dfaf.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/142.f9b64022.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/143.969e9c21.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/144.c1017354.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/145.9913b4db.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/146.98c8ddb5.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/147.a81cb060.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/148.e19ee1dc.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/149.ea9870d2.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/15.c338f3e1.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/150.8b8b087e.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/151.2a9b3ed3.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/152.f9a8628a.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/153.d12e6bb0.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/154.982e6a60.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/155.4d138c23.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/156.f87018ef.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/157.5514f31f.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/158.62c9acf4.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/159.8efff8e7.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/16.4104bc3d.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/160.d20be33d.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/161.450bfc16.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/162.8f4b1ef1.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/163.886c3d6b.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/164.b20c1a82.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/165.d50970b3.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/166.d7e6ad0c.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/167.ccea2571.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/168.92eccba6.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/169.fc4c55fc.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/17.64c7d968.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/170.68bc8e63.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/171.efce2f2a.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/172.2efbf5ed.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/173.fc8286f8.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/174.50883a5d.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/175.c5c88145.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/176.bbbb6a6b.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/177.fba41963.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/178.19ff4937.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/179.1cefd6c0.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/18.cead622c.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/180.3becabdc.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/181.e53d80e8.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/182.49e5d890.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/183.f759e077.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/184.306f2ee8.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/185.0b16c367.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/186.36ac7778.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/187.b7919b0a.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/188.7d1980fc.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/189.6c17b65e.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/19.190564ef.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/190.9e797665.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/191.c3b6e357.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/192.7cd4edad.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/193.4ffab5f9.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/194.1206b0e9.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/195.a0d49e2a.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/196.6018f5b8.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/197.1ac3c4dc.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/198.96131a3e.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/199.6402d429.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/20.bb1ec922.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/200.e647635e.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/201.c38fb89c.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/202.3411b281.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/203.1e5d25cb.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/204.4ecf78e2.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/205.0a5875de.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/206.b89be23e.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/207.d232b029.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/208.d2d6ca70.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/209.3260f170.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/21.cc2dc805.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/210.4900d92c.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/211.5783b2c1.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/212.2122b8f4.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/213.df90ae0c.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/214.43c3ab74.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/215.2312cf88.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/216.98f6cf3d.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/217.52034b7a.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/218.42d7bee2.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/219.09998216.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/22.6e76083a.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/220.a7af7a04.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/221.794a6b57.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/222.b6dcc4b7.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/223.954ced3d.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/224.12e69676.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/225.ff3db931.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/226.2355a1a5.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/227.636ac4b2.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/228.b90bf82a.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/229.da63f74e.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/23.8b8d9096.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/230.fd0d4ac0.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/231.2c733bed.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/232.294f1601.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/233.43dbb0f7.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/234.f8b6b92e.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/235.29664b0b.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/236.fcec40c1.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/237.1b951b74.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/238.db72f5a4.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/239.8bb26e56.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/24.e70e01c2.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/240.eb782cdd.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/241.e1daa9cb.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/242.f17d4505.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/243.dbd5d890.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/244.b2bccf04.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/245.053b1368.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/246.263b8c63.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/247.d89a7d07.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/248.1b683be6.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/249.4de5a18a.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/25.e47d9e6e.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/250.ad7a51ab.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/251.990897b1.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/252.9eb48402.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/253.e5f704c8.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/254.8c8c4b79.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/255.c2958323.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/256.c617b87f.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/257.c990d3f5.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/258.50fe0ee2.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/259.edfa518f.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/26.ce0b6a4d.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/260.9e0953e5.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/261.7f73e142.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/27.a346eb27.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/28.a208c878.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/29.9d4963a2.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/3.a72e4c07.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/30.dca2ab96.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/31.0e88f33d.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/32.77a34c8e.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/33.9ca69903.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/34.6b89b1b9.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/35.fcc795ef.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/36.13f9f988.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/37.abf76079.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/38.22c8b6f6.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/39.96677283.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/4.b1e44950.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/40.274b9250.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/41.d78886c0.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/42.41d1ed5d.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/43.9e494ccd.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/44.b970d835.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/45.ab6666fb.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/46.349134ea.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/47.c87c34d1.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/48.14651913.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/49.b8abc65e.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/5.7ea9807f.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/50.f4b5a0e4.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/51.406ed97e.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/52.81e9dde8.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/53.e594de7e.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/54.d559eee5.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/55.b7c49431.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/56.044fc34b.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/57.b9eee769.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/58.0ae7a57a.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/59.b788c5b0.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/6.fd49ef60.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/60.2bd24756.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/61.d946aaa6.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/62.8cd3e4b0.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/63.1202aca8.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/64.51e8be88.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/65.2e470a10.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/66.f59a1ccd.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/67.6ee17408.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/68.1c86a66a.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/69.0bbf9f74.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/7.d0635359.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/70.011b14a9.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/71.fbb099ca.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/72.9334ab6f.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/73.1f4b307e.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/74.cc300e57.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/75.81351d54.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/76.bfbd1557.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/77.f6b30e65.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/78.b297287e.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/79.db62bce8.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/8.d9d2f5e0.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/80.fc8f32a5.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/81.9c0d5a3c.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/82.7b3dc929.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/83.3fd168f0.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/84.629d6437.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/85.8ebeb81a.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/87.88e7305a.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/88.41ef7dde.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/89.8cd98851.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/9.5b64be0b.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/90.1d238923.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/91.2f81d880.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/92.f4dea6e6.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/93.9d7c3262.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/94.e8059a08.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/95.f08ae917.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/96.9cbf7e77.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/97.c4196729.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/98.dd52f3fc.js"><link rel="prefetch" href="/docs/3.8.2/assets/js/99.b26e9d1b.js">
<link rel="stylesheet" href="/docs/3.8.2/assets/css/0.styles.3fce5b00.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/docs/3.8.2/" class="home-link router-link-active"><img src="/docs/3.8.2/favicon.ico" alt="Chart.js" class="logo"> <span class="site-name can-hide">Chart.js</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/docs/3.8.2/" class="nav-link">
Home
</a></div><div class="nav-item"><a href="/docs/3.8.2/api/" class="nav-link router-link-active">
API
</a></div><div class="nav-item"><a href="/docs/3.8.2/samples/" class="nav-link">
Samples
</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Community Menu" class="dropdown-title"><span class="title">Ecosystem</span> <span class="arrow down"></span></button> <button type="button" aria-label="Community Menu" class="mobile-dropdown-title"><span class="title">Ecosystem</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://github.com/chartjs/awesome" target="_blank" rel="noopener noreferrer" class="nav-link external">
Awesome
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="https://chartjs-slack.herokuapp.com/" target="_blank" rel="noopener noreferrer" class="nav-link external">
Slack
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="https://stackoverflow.com/questions/tagged/chart.js" target="_blank" rel="noopener noreferrer" class="nav-link external">
Stack Overflow
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div> <a href="https://github.com/chartjs/Chart.js" target="_blank" rel="noopener noreferrer" class="repo-link">
GitHub
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/docs/3.8.2/" class="nav-link">
Home
</a></div><div class="nav-item"><a href="/docs/3.8.2/api/" class="nav-link router-link-active">
API
</a></div><div class="nav-item"><a href="/docs/3.8.2/samples/" class="nav-link">
Samples
</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Community Menu" class="dropdown-title"><span class="title">Ecosystem</span> <span class="arrow down"></span></button> <button type="button" aria-label="Community Menu" class="mobile-dropdown-title"><span class="title">Ecosystem</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://github.com/chartjs/awesome" target="_blank" rel="noopener noreferrer" class="nav-link external">
Awesome
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="https://chartjs-slack.herokuapp.com/" target="_blank" rel="noopener noreferrer" class="nav-link external">
Slack
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="https://stackoverflow.com/questions/tagged/chart.js" target="_blank" rel="noopener noreferrer" class="nav-link external">
Stack Overflow
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div> <a href="https://github.com/chartjs/Chart.js" target="_blank" rel="noopener noreferrer" class="repo-link">
GitHub
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><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/3.8.2/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/3.8.2/api/interfaces/ActiveDataPoint.html" class="sidebar-link">ActiveDataPoint</a></li><li><a href="/docs/3.8.2/api/interfaces/ActiveElement.html" class="sidebar-link">ActiveElement</a></li><li><a href="/docs/3.8.2/api/interfaces/AnimationEvent.html" class="sidebar-link">AnimationEvent</a></li><li><a href="/docs/3.8.2/api/interfaces/ArcBorderRadius.html" class="sidebar-link">ArcBorderRadius</a></li><li><a href="/docs/3.8.2/api/interfaces/ArcElement.html" class="sidebar-link">ArcElement</a></li><li><a href="/docs/3.8.2/api/interfaces/ArcHoverOptions.html" class="sidebar-link">ArcHoverOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/ArcOptions.html" class="sidebar-link">ArcOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/ArcProps.html" class="sidebar-link">ArcProps</a></li><li><a href="/docs/3.8.2/api/interfaces/BarControllerChartOptions.html" class="sidebar-link">BarControllerChartOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/BarControllerDatasetOptions.html" class="sidebar-link">BarControllerDatasetOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/BarElement.html" class="sidebar-link">BarElement</a></li><li><a href="/docs/3.8.2/api/interfaces/BarHoverOptions.html" class="sidebar-link">BarHoverOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/BarOptions.html" class="sidebar-link">BarOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/BarProps.html" class="sidebar-link">BarProps</a></li><li><a href="/docs/3.8.2/api/interfaces/BorderRadius.html" class="sidebar-link">BorderRadius</a></li><li><a href="/docs/3.8.2/api/interfaces/BubbleControllerDatasetOptions.html" class="sidebar-link">BubbleControllerDatasetOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/BubbleDataPoint.html" class="sidebar-link">BubbleDataPoint</a></li><li><a href="/docs/3.8.2/api/interfaces/CartesianScaleOptions.html" class="sidebar-link">CartesianScaleOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/CartesianScaleTypeRegistry.html" class="sidebar-link">CartesianScaleTypeRegistry</a></li><li><a href="/docs/3.8.2/api/interfaces/ChartArea.html" class="sidebar-link">ChartArea</a></li><li><a href="/docs/3.8.2/api/interfaces/ChartComponent.html" class="sidebar-link">ChartComponent</a></li><li><a href="/docs/3.8.2/api/interfaces/ChartConfiguration.html" class="sidebar-link">ChartConfiguration</a></li><li><a href="/docs/3.8.2/api/interfaces/ChartConfigurationCustomTypesPerDataset.html" class="sidebar-link">ChartConfigurationCustomTypesPerDataset</a></li><li><a href="/docs/3.8.2/api/interfaces/ChartData.html" class="sidebar-link">ChartData</a></li><li><a href="/docs/3.8.2/api/interfaces/ChartDataCustomTypesPerDataset.html" class="sidebar-link">ChartDataCustomTypesPerDataset</a></li><li><a href="/docs/3.8.2/api/interfaces/ChartDatasetProperties.html" class="sidebar-link">ChartDatasetProperties</a></li><li><a href="/docs/3.8.2/api/interfaces/ChartDatasetPropertiesCustomTypesPerDataset.html" class="sidebar-link">ChartDatasetPropertiesCustomTypesPerDataset</a></li><li><a href="/docs/3.8.2/api/interfaces/ChartEvent.html" class="sidebar-link">ChartEvent</a></li><li><a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html" class="sidebar-link">ChartTypeRegistry</a></li><li><a href="/docs/3.8.2/api/interfaces/CommonElementOptions.html" class="sidebar-link">CommonElementOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/CommonHoverOptions.html" class="sidebar-link">CommonHoverOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/ComplexFillTarget.html" class="sidebar-link">ComplexFillTarget</a></li><li><a href="/docs/3.8.2/api/interfaces/ControllerDatasetOptions.html" class="sidebar-link">ControllerDatasetOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/CoreChartOptions.html" class="sidebar-link">CoreChartOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/CoreInteractionOptions.html" class="sidebar-link">CoreInteractionOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/CoreScaleOptions.html" class="sidebar-link">CoreScaleOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/DatasetControllerChartComponent.html" class="sidebar-link">DatasetControllerChartComponent</a></li><li><a href="/docs/3.8.2/api/interfaces/DateAdapter.html" class="sidebar-link">DateAdapter</a></li><li><a href="/docs/3.8.2/api/interfaces/Defaults.html" class="sidebar-link">Defaults</a></li><li><a href="/docs/3.8.2/api/interfaces/DoughnutAnimationOptions.html" class="sidebar-link">DoughnutAnimationOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/DoughnutController.html" class="sidebar-link">DoughnutController</a></li><li><a href="/docs/3.8.2/api/interfaces/DoughnutControllerChartOptions.html" class="sidebar-link">DoughnutControllerChartOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/DoughnutControllerDatasetOptions.html" class="sidebar-link">DoughnutControllerDatasetOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/DoughnutMetaExtensions.html" class="sidebar-link">DoughnutMetaExtensions</a></li><li><a href="/docs/3.8.2/api/interfaces/Element.html" class="sidebar-link">Element</a></li><li><a href="/docs/3.8.2/api/interfaces/ElementOptionsByType.html" class="sidebar-link">ElementOptionsByType</a></li><li><a href="/docs/3.8.2/api/interfaces/ExtendedPlugin.html" class="sidebar-link">ExtendedPlugin</a></li><li><a href="/docs/3.8.2/api/interfaces/FillerControllerDatasetOptions.html" class="sidebar-link">FillerControllerDatasetOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/FillerOptions.html" class="sidebar-link">FillerOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/FontSpec.html" class="sidebar-link">FontSpec</a></li><li><a href="/docs/3.8.2/api/interfaces/GridLineOptions.html" class="sidebar-link">GridLineOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/InteractionItem.html" class="sidebar-link">InteractionItem</a></li><li><a href="/docs/3.8.2/api/interfaces/InteractionModeMap.html" class="sidebar-link">InteractionModeMap</a></li><li><a href="/docs/3.8.2/api/interfaces/InteractionOptions.html" class="sidebar-link">InteractionOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/LayoutItem.html" class="sidebar-link">LayoutItem</a></li><li><a href="/docs/3.8.2/api/interfaces/LegendElement.html" class="sidebar-link">LegendElement</a></li><li><a href="/docs/3.8.2/api/interfaces/LegendItem.html" class="sidebar-link">LegendItem</a></li><li><a href="/docs/3.8.2/api/interfaces/LegendOptions.html" class="sidebar-link">LegendOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/LineControllerChartOptions.html" class="sidebar-link">LineControllerChartOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/LineControllerDatasetOptions.html" class="sidebar-link">LineControllerDatasetOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/LineElement.html" class="sidebar-link">LineElement</a></li><li><a href="/docs/3.8.2/api/interfaces/LineHoverOptions.html" class="sidebar-link">LineHoverOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/LineOptions.html" class="sidebar-link">LineOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/LineProps.html" class="sidebar-link">LineProps</a></li><li><a href="/docs/3.8.2/api/interfaces/ParsingOptions.html" class="sidebar-link">ParsingOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/Plugin.html" aria-current="page" class="active sidebar-link">Plugin</a></li><li><a href="/docs/3.8.2/api/interfaces/PluginChartOptions.html" class="sidebar-link">PluginChartOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/PluginOptionsByType.html" class="sidebar-link">PluginOptionsByType</a></li><li><a href="/docs/3.8.2/api/interfaces/Point.html" class="sidebar-link">Point</a></li><li><a href="/docs/3.8.2/api/interfaces/PointElement.html" class="sidebar-link">PointElement</a></li><li><a href="/docs/3.8.2/api/interfaces/PointHoverOptions.html" class="sidebar-link">PointHoverOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/PointOptions.html" class="sidebar-link">PointOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/PointPrefixedHoverOptions.html" class="sidebar-link">PointPrefixedHoverOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/PointPrefixedOptions.html" class="sidebar-link">PointPrefixedOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/PointProps.html" class="sidebar-link">PointProps</a></li><li><a href="/docs/3.8.2/api/interfaces/PolarAreaController.html" class="sidebar-link">PolarAreaController</a></li><li><a href="/docs/3.8.2/api/interfaces/PolarAreaControllerChartOptions.html" class="sidebar-link">PolarAreaControllerChartOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/PolarAreaControllerDatasetOptions.html" class="sidebar-link">PolarAreaControllerDatasetOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/RadarControllerDatasetOptions.html" class="sidebar-link">RadarControllerDatasetOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/RadialLinearScale.html" class="sidebar-link">RadialLinearScale</a></li><li><a href="/docs/3.8.2/api/interfaces/RadialScaleTypeRegistry.html" class="sidebar-link">RadialScaleTypeRegistry</a></li><li><a href="/docs/3.8.2/api/interfaces/Registry.html" class="sidebar-link">Registry</a></li><li><a href="/docs/3.8.2/api/interfaces/ScaleTypeRegistry.html" class="sidebar-link">ScaleTypeRegistry</a></li><li><a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html" class="sidebar-link">ScatterDataPoint</a></li><li><a href="/docs/3.8.2/api/interfaces/ScriptableCartesianScaleContext.html" class="sidebar-link">ScriptableCartesianScaleContext</a></li><li><a href="/docs/3.8.2/api/interfaces/ScriptableChartContext.html" class="sidebar-link">ScriptableChartContext</a></li><li><a href="/docs/3.8.2/api/interfaces/ScriptableContext.html" class="sidebar-link">ScriptableContext</a></li><li><a href="/docs/3.8.2/api/interfaces/ScriptableLineSegmentContext.html" class="sidebar-link">ScriptableLineSegmentContext</a></li><li><a href="/docs/3.8.2/api/interfaces/ScriptableScaleContext.html" class="sidebar-link">ScriptableScaleContext</a></li><li><a href="/docs/3.8.2/api/interfaces/ScriptableScalePointLabelContext.html" class="sidebar-link">ScriptableScalePointLabelContext</a></li><li><a href="/docs/3.8.2/api/interfaces/ScriptableTooltipContext.html" class="sidebar-link">ScriptableTooltipContext</a></li><li><a href="/docs/3.8.2/api/interfaces/Segment.html" class="sidebar-link">Segment</a></li><li><a href="/docs/3.8.2/api/interfaces/Tick.html" class="sidebar-link">Tick</a></li><li><a href="/docs/3.8.2/api/interfaces/TickOptions.html" class="sidebar-link">TickOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/TimeScale.html" class="sidebar-link">TimeScale</a></li><li><a href="/docs/3.8.2/api/interfaces/TitleOptions.html" class="sidebar-link">TitleOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/Tooltip.html" class="sidebar-link">Tooltip</a></li><li><a href="/docs/3.8.2/api/interfaces/TooltipCallbacks.html" class="sidebar-link">TooltipCallbacks</a></li><li><a href="/docs/3.8.2/api/interfaces/TooltipItem.html" class="sidebar-link">TooltipItem</a></li><li><a href="/docs/3.8.2/api/interfaces/TooltipLabelStyle.html" class="sidebar-link">TooltipLabelStyle</a></li><li><a href="/docs/3.8.2/api/interfaces/TooltipModel.html" class="sidebar-link">TooltipModel</a></li><li><a href="/docs/3.8.2/api/interfaces/TooltipOptions.html" class="sidebar-link">TooltipOptions</a></li><li><a href="/docs/3.8.2/api/interfaces/TooltipPosition.html" class="sidebar-link">TooltipPosition</a></li><li><a href="/docs/3.8.2/api/interfaces/TooltipPositionerMap.html" class="sidebar-link">TooltipPositionerMap</a></li><li><a href="/docs/3.8.2/api/interfaces/TypedRegistry.html" class="sidebar-link">TypedRegistry</a></li><li><a href="/docs/3.8.2/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/3.8.2/api/#charttype"><code>ChartType</code></a> = <a href="/docs/3.8.2/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/3.8.2/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/3.8.2/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="id"><a href="#id" class="header-anchor">#</a> id</h3> <p>• <strong>id</strong>: <code>string</code></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/26e70b7/types/index.esm.d.ts#L808" target="_blank" rel="noopener noreferrer">index.esm.d.ts:808<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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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/3.8.2/api/classes/Scale.html"><code>Scale</code></a><<a href="/docs/3.8.2/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-2"><a href="#defined-in-2" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L967" target="_blank" rel="noopener noreferrer">index.esm.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="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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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/3.8.2/api/classes/Scale.html"><code>Scale</code></a><<a href="/docs/3.8.2/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-3"><a href="#defined-in-3" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L951" target="_blank" rel="noopener noreferrer">index.esm.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="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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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/3.8.2/api/#chartmeta"><code>ChartMeta</code></a><<a href="/docs/3.8.2/api/#element"><code>Element</code></a><<code>AnyObject</code>, <code>AnyObject</code>>, <a href="/docs/3.8.2/api/#element"><code>Element</code></a><<code>AnyObject</code>, <code>AnyObject</code>>, keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>></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-4"><a href="#defined-in-4" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L1049" target="_blank" rel="noopener noreferrer">index.esm.d.ts:1049<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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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/3.8.2/api/#chartmeta"><code>ChartMeta</code></a><<a href="/docs/3.8.2/api/#element"><code>Element</code></a><<code>AnyObject</code>, <code>AnyObject</code>>, <a href="/docs/3.8.2/api/#element"><code>Element</code></a><<code>AnyObject</code>, <code>AnyObject</code>>, keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>></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>"resize"</code> | <code>"reset"</code> | <code>"none"</code> | <code>"hide"</code> | <code>"show"</code> | <code>"normal"</code> | <code>"active"</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-5"><a href="#defined-in-5" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L926" target="_blank" rel="noopener noreferrer">index.esm.d.ts:926<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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-6"><a href="#defined-in-6" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L1026" target="_blank" rel="noopener noreferrer">index.esm.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="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> 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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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>"resize"</code> | <code>"reset"</code> | <code>"none"</code> | <code>"hide"</code> | <code>"show"</code> | <code>"normal"</code> | <code>"active"</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-7"><a href="#defined-in-7" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L903" target="_blank" rel="noopener noreferrer">index.esm.d.ts:903<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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-8"><a href="#defined-in-8" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L1102" target="_blank" rel="noopener noreferrer">index.esm.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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-9"><a href="#defined-in-9" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L1009" target="_blank" rel="noopener noreferrer">index.esm.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="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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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;">-</td></tr> <tr><td style="text-align:left;"><code>args.event</code></td> <td style="text-align:left;"><a href="/docs/3.8.2/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-10"><a href="#defined-in-10" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L1072" target="_blank" rel="noopener noreferrer">index.esm.d.ts:1072<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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-11"><a href="#defined-in-11" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L847" target="_blank" rel="noopener noreferrer">index.esm.d.ts:847<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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-12"><a href="#defined-in-12" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L975" target="_blank" rel="noopener noreferrer">index.esm.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="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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-13"><a href="#defined-in-13" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L992" target="_blank" rel="noopener noreferrer">index.esm.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="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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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/3.8.2/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/3.8.2/api/interfaces/ExtendedPlugin.html">ExtendedPlugin</a>.<a href="/docs/3.8.2/api/interfaces/ExtendedPlugin.html#aftertooltipdraw">afterTooltipDraw</a></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/26e70b7/types/index.esm.d.ts#L2595" target="_blank" rel="noopener noreferrer">index.esm.d.ts:2595<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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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>"resize"</code> | <code>"reset"</code> | <code>"none"</code> | <code>"hide"</code> | <code>"show"</code> | <code>"normal"</code> | <code>"active"</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-15"><a href="#defined-in-15" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L866" target="_blank" rel="noopener noreferrer">index.esm.d.ts:866<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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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/3.8.2/api/classes/Scale.html"><code>Scale</code></a><<a href="/docs/3.8.2/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-16"><a href="#defined-in-16" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L959" target="_blank" rel="noopener noreferrer">index.esm.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="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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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/3.8.2/api/classes/Scale.html"><code>Scale</code></a><<a href="/docs/3.8.2/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-17"><a href="#defined-in-17" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L943" target="_blank" rel="noopener noreferrer">index.esm.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="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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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/3.8.2/api/#chartmeta"><code>ChartMeta</code></a><<a href="/docs/3.8.2/api/#element"><code>Element</code></a><<code>AnyObject</code>, <code>AnyObject</code>>, <a href="/docs/3.8.2/api/#element"><code>Element</code></a><<code>AnyObject</code>, <code>AnyObject</code>>, keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>></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-18"><a href="#defined-in-18" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L1038" target="_blank" rel="noopener noreferrer">index.esm.d.ts:1038<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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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/3.8.2/api/#chartmeta"><code>ChartMeta</code></a><<a href="/docs/3.8.2/api/#element"><code>Element</code></a><<code>AnyObject</code>, <code>AnyObject</code>>, <a href="/docs/3.8.2/api/#element"><code>Element</code></a><<code>AnyObject</code>, <code>AnyObject</code>>, keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>></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>"resize"</code> | <code>"reset"</code> | <code>"none"</code> | <code>"hide"</code> | <code>"show"</code> | <code>"normal"</code> | <code>"active"</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-19"><a href="#defined-in-19" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L915" target="_blank" rel="noopener noreferrer">index.esm.d.ts:915<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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-20"><a href="#defined-in-20" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L1018" target="_blank" rel="noopener noreferrer">index.esm.d.ts:1018<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> 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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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>"resize"</code> | <code>"reset"</code> | <code>"none"</code> | <code>"hide"</code> | <code>"show"</code> | <code>"normal"</code> | <code>"active"</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-21"><a href="#defined-in-21" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L893" target="_blank" rel="noopener noreferrer">index.esm.d.ts:893<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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-22"><a href="#defined-in-22" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L1087" target="_blank" rel="noopener noreferrer">index.esm.d.ts:1087<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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-23"><a href="#defined-in-23" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L1001" target="_blank" rel="noopener noreferrer">index.esm.d.ts:1001<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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-24"><a href="#defined-in-24" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L874" target="_blank" rel="noopener noreferrer">index.esm.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="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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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/3.8.2/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-25"><a href="#defined-in-25" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L1060" target="_blank" rel="noopener noreferrer">index.esm.d.ts:1060<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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-26"><a href="#defined-in-26" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L840" target="_blank" rel="noopener noreferrer">index.esm.d.ts:840<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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-27"><a href="#defined-in-27" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L935" target="_blank" rel="noopener noreferrer">index.esm.d.ts:935<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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-28"><a href="#defined-in-28" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L984" target="_blank" rel="noopener noreferrer">index.esm.d.ts:984<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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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/3.8.2/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/3.8.2/api/interfaces/ExtendedPlugin.html">ExtendedPlugin</a>.<a href="/docs/3.8.2/api/interfaces/ExtendedPlugin.html#beforetooltipdraw">beforeTooltipDraw</a></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/26e70b7/types/index.esm.d.ts#L2586" target="_blank" rel="noopener noreferrer">index.esm.d.ts:2586<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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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>"resize"</code> | <code>"reset"</code> | <code>"none"</code> | <code>"hide"</code> | <code>"show"</code> | <code>"normal"</code> | <code>"active"</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-30"><a href="#defined-in-30" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L857" target="_blank" rel="noopener noreferrer">index.esm.d.ts:857<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="destroy"><a href="#destroy" class="header-anchor">#</a> destroy</h3> <p>▸ <code>Optional</code> <strong>destroy</strong>(<code>chart</code>, <code>args</code>, <code>options</code>): <code>void</code></p> <p>Called after the chart has been destroyed.</p> <p><strong><code>deprecated</code></strong> since version 3.7.0 in favour of afterDestroy</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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-31"><a href="#defined-in-31" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L1095" target="_blank" rel="noopener noreferrer">index.esm.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="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> 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> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-32"><a href="#defined-in-32" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L817" target="_blank" rel="noopener noreferrer">index.esm.d.ts:817<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> Called during chart reset</p> <p><strong><code>since</code></strong> version 3.0.0</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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-32"><a href="#returns-32" 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/26e70b7/types/index.esm.d.ts#L882" target="_blank" rel="noopener noreferrer">index.esm.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="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> Called after the chart as been resized.</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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-33"><a href="#returns-33" 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/26e70b7/types/index.esm.d.ts#L1080" target="_blank" rel="noopener noreferrer">index.esm.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="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> Called when a plugin is starting. This happens when chart is created or plugin is enabled.</p> <p><strong><code>since</code></strong> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-35"><a href="#defined-in-35" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L825" target="_blank" rel="noopener noreferrer">index.esm.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="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> Called when a plugin stopping. This happens when chart is destroyed or plugin is disabled.</p> <p><strong><code>since</code></strong> 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-36"><a href="#defined-in-36" class="header-anchor">#</a> Defined in</h4> <p><a href="https://github.com/chartjs/Chart.js/blob/26e70b7/types/index.esm.d.ts#L833" target="_blank" rel="noopener noreferrer">index.esm.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="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> 3.0.0</p> <h4 id="parameters-36"><a href="#parameters-36" 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/3.8.2/api/classes/Chart.html"><code>Chart</code></a><keyof <a href="/docs/3.8.2/api/interfaces/ChartTypeRegistry.html"><code>ChartTypeRegistry</code></a>, (<code>number</code> | <a href="/docs/3.8.2/api/interfaces/ScatterDataPoint.html"><code>ScatterDataPoint</code></a> | <a href="/docs/3.8.2/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-36"><a href="#returns-36" 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/26e70b7/types/index.esm.d.ts#L1110" target="_blank" rel="noopener noreferrer">index.esm.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/3.8.2/api/interfaces/ParsingOptions.html" class="prev">
ParsingOptions
</a></span> <span class="next"><a href="/docs/3.8.2/api/interfaces/PluginChartOptions.html">
PluginChartOptions
</a>
→
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/3.8.2/assets/js/app.c111da59.js" defer></script><script src="/docs/3.8.2/assets/js/2.2c6184c9.js" defer></script><script src="/docs/3.8.2/assets/js/86.c7aaa13a.js" defer></script>
</body>
</html>