-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathlegend.html
143 lines (143 loc) · 54.3 KB
/
legend.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Legend | Chart.js</title>
<meta name="generator" content="VuePress 1.9.9">
<link rel="icon" href="/docs/latest/favicon.ico">
<meta name="description" content="Open source HTML5 Charts for your website">
<link rel="preload" href="/docs/latest/assets/css/0.styles.6dc2f403.css" as="style"><link rel="preload" href="/docs/latest/assets/js/app.1775731d.js" as="script"><link rel="preload" href="/docs/latest/assets/js/2.2c2b1036.js" as="script"><link rel="preload" href="/docs/latest/assets/js/167.f8e315e4.js" as="script"><link rel="prefetch" href="/docs/latest/assets/js/10.ba172174.js"><link rel="prefetch" href="/docs/latest/assets/js/100.559bdb31.js"><link rel="prefetch" href="/docs/latest/assets/js/101.734a357a.js"><link rel="prefetch" href="/docs/latest/assets/js/102.e53ce872.js"><link rel="prefetch" href="/docs/latest/assets/js/103.9940e4fa.js"><link rel="prefetch" href="/docs/latest/assets/js/104.469f66c7.js"><link rel="prefetch" href="/docs/latest/assets/js/105.5ae465af.js"><link rel="prefetch" href="/docs/latest/assets/js/106.716d6eac.js"><link rel="prefetch" href="/docs/latest/assets/js/107.0833c00c.js"><link rel="prefetch" href="/docs/latest/assets/js/108.d33f5d8a.js"><link rel="prefetch" href="/docs/latest/assets/js/109.ea3e6d92.js"><link rel="prefetch" href="/docs/latest/assets/js/11.d1a995d1.js"><link rel="prefetch" href="/docs/latest/assets/js/110.0e4a266d.js"><link rel="prefetch" href="/docs/latest/assets/js/111.c9c05ded.js"><link rel="prefetch" href="/docs/latest/assets/js/112.9016026c.js"><link rel="prefetch" href="/docs/latest/assets/js/113.a23a9546.js"><link rel="prefetch" href="/docs/latest/assets/js/114.d891a2d6.js"><link rel="prefetch" href="/docs/latest/assets/js/115.cdcc4368.js"><link rel="prefetch" href="/docs/latest/assets/js/116.251f2223.js"><link rel="prefetch" href="/docs/latest/assets/js/117.7eb3b50a.js"><link rel="prefetch" href="/docs/latest/assets/js/118.adac9d3d.js"><link rel="prefetch" href="/docs/latest/assets/js/119.d911cbbc.js"><link rel="prefetch" href="/docs/latest/assets/js/12.fa9e2b79.js"><link rel="prefetch" href="/docs/latest/assets/js/120.0a1625d8.js"><link rel="prefetch" href="/docs/latest/assets/js/121.64e65c08.js"><link rel="prefetch" href="/docs/latest/assets/js/122.ea83d994.js"><link rel="prefetch" href="/docs/latest/assets/js/123.43345e7d.js"><link rel="prefetch" href="/docs/latest/assets/js/124.9ef914cc.js"><link rel="prefetch" href="/docs/latest/assets/js/125.ba02abb0.js"><link rel="prefetch" href="/docs/latest/assets/js/126.0e7f9dce.js"><link rel="prefetch" href="/docs/latest/assets/js/127.b8d32dad.js"><link rel="prefetch" href="/docs/latest/assets/js/128.7ac6e558.js"><link rel="prefetch" href="/docs/latest/assets/js/129.d20213cd.js"><link rel="prefetch" href="/docs/latest/assets/js/13.40942fa2.js"><link rel="prefetch" href="/docs/latest/assets/js/130.81a05cd4.js"><link rel="prefetch" href="/docs/latest/assets/js/131.daed6849.js"><link rel="prefetch" href="/docs/latest/assets/js/132.4d47b2eb.js"><link rel="prefetch" href="/docs/latest/assets/js/133.05ab502f.js"><link rel="prefetch" href="/docs/latest/assets/js/134.83827ecd.js"><link rel="prefetch" href="/docs/latest/assets/js/135.7bff0bd7.js"><link rel="prefetch" href="/docs/latest/assets/js/136.98f8440e.js"><link rel="prefetch" href="/docs/latest/assets/js/137.aaec3459.js"><link rel="prefetch" href="/docs/latest/assets/js/138.c192277e.js"><link rel="prefetch" href="/docs/latest/assets/js/139.22d54ea6.js"><link rel="prefetch" href="/docs/latest/assets/js/14.5de42ba2.js"><link rel="prefetch" href="/docs/latest/assets/js/140.386704e4.js"><link rel="prefetch" href="/docs/latest/assets/js/141.a9195816.js"><link rel="prefetch" href="/docs/latest/assets/js/142.b78395bb.js"><link rel="prefetch" href="/docs/latest/assets/js/143.170ad88b.js"><link rel="prefetch" href="/docs/latest/assets/js/144.76e219db.js"><link rel="prefetch" href="/docs/latest/assets/js/145.191861d0.js"><link rel="prefetch" href="/docs/latest/assets/js/146.e78f7eab.js"><link rel="prefetch" href="/docs/latest/assets/js/147.aed576b7.js"><link rel="prefetch" href="/docs/latest/assets/js/148.51a28e75.js"><link rel="prefetch" href="/docs/latest/assets/js/149.bacf0bd4.js"><link rel="prefetch" href="/docs/latest/assets/js/15.012e7206.js"><link rel="prefetch" href="/docs/latest/assets/js/150.fe20362f.js"><link rel="prefetch" href="/docs/latest/assets/js/151.c05dbf6f.js"><link rel="prefetch" href="/docs/latest/assets/js/152.f99236fb.js"><link rel="prefetch" href="/docs/latest/assets/js/153.ef68597f.js"><link rel="prefetch" href="/docs/latest/assets/js/154.c023b64b.js"><link rel="prefetch" href="/docs/latest/assets/js/155.3f68a1be.js"><link rel="prefetch" href="/docs/latest/assets/js/156.66b7693f.js"><link rel="prefetch" href="/docs/latest/assets/js/157.3c0180a1.js"><link rel="prefetch" href="/docs/latest/assets/js/158.cf525578.js"><link rel="prefetch" href="/docs/latest/assets/js/159.4b37336f.js"><link rel="prefetch" href="/docs/latest/assets/js/16.a464ca3c.js"><link rel="prefetch" href="/docs/latest/assets/js/160.e108118b.js"><link rel="prefetch" href="/docs/latest/assets/js/161.aa5bb701.js"><link rel="prefetch" href="/docs/latest/assets/js/162.d16c9512.js"><link rel="prefetch" href="/docs/latest/assets/js/163.f2f33424.js"><link rel="prefetch" href="/docs/latest/assets/js/164.2d008c84.js"><link rel="prefetch" href="/docs/latest/assets/js/165.3e4e7c11.js"><link rel="prefetch" href="/docs/latest/assets/js/166.57daa7ea.js"><link rel="prefetch" href="/docs/latest/assets/js/168.fdb7618a.js"><link rel="prefetch" href="/docs/latest/assets/js/169.c7aab3a9.js"><link rel="prefetch" href="/docs/latest/assets/js/17.ed55170f.js"><link rel="prefetch" href="/docs/latest/assets/js/170.d26e2242.js"><link rel="prefetch" href="/docs/latest/assets/js/171.c5b6f4a1.js"><link rel="prefetch" href="/docs/latest/assets/js/172.b564ffcb.js"><link rel="prefetch" href="/docs/latest/assets/js/173.abeba639.js"><link rel="prefetch" href="/docs/latest/assets/js/174.f93bd291.js"><link rel="prefetch" href="/docs/latest/assets/js/175.5d366e3d.js"><link rel="prefetch" href="/docs/latest/assets/js/176.e54efab4.js"><link rel="prefetch" href="/docs/latest/assets/js/177.496ceef2.js"><link rel="prefetch" href="/docs/latest/assets/js/178.12804673.js"><link rel="prefetch" href="/docs/latest/assets/js/179.32bf04c8.js"><link rel="prefetch" href="/docs/latest/assets/js/18.ba4debdf.js"><link rel="prefetch" href="/docs/latest/assets/js/180.e8f6ed27.js"><link rel="prefetch" href="/docs/latest/assets/js/181.c8978a79.js"><link rel="prefetch" href="/docs/latest/assets/js/182.63d7af06.js"><link rel="prefetch" href="/docs/latest/assets/js/183.55db8d56.js"><link rel="prefetch" href="/docs/latest/assets/js/184.18a07965.js"><link rel="prefetch" href="/docs/latest/assets/js/185.3a061aeb.js"><link rel="prefetch" href="/docs/latest/assets/js/186.a0e4fc7f.js"><link rel="prefetch" href="/docs/latest/assets/js/187.4955b620.js"><link rel="prefetch" href="/docs/latest/assets/js/188.c1eef544.js"><link rel="prefetch" href="/docs/latest/assets/js/189.a6ac08c5.js"><link rel="prefetch" href="/docs/latest/assets/js/19.5a1c7f07.js"><link rel="prefetch" href="/docs/latest/assets/js/190.02c0bd04.js"><link rel="prefetch" href="/docs/latest/assets/js/191.35859b30.js"><link rel="prefetch" href="/docs/latest/assets/js/192.605a899d.js"><link rel="prefetch" href="/docs/latest/assets/js/193.9873a5b3.js"><link rel="prefetch" href="/docs/latest/assets/js/194.f2b24cdc.js"><link rel="prefetch" href="/docs/latest/assets/js/195.24641d51.js"><link rel="prefetch" href="/docs/latest/assets/js/196.7b3fce99.js"><link rel="prefetch" href="/docs/latest/assets/js/197.f4fe5075.js"><link rel="prefetch" href="/docs/latest/assets/js/198.7361b0f4.js"><link rel="prefetch" href="/docs/latest/assets/js/199.9a52b08a.js"><link rel="prefetch" href="/docs/latest/assets/js/20.befb3878.js"><link rel="prefetch" href="/docs/latest/assets/js/200.96e5f1ed.js"><link rel="prefetch" href="/docs/latest/assets/js/201.8fb753af.js"><link rel="prefetch" href="/docs/latest/assets/js/202.546fb27c.js"><link rel="prefetch" href="/docs/latest/assets/js/203.c0a58e57.js"><link rel="prefetch" href="/docs/latest/assets/js/204.f3dcd08d.js"><link rel="prefetch" href="/docs/latest/assets/js/205.e39e6cc0.js"><link rel="prefetch" href="/docs/latest/assets/js/206.2040b423.js"><link rel="prefetch" href="/docs/latest/assets/js/207.d3de4a57.js"><link rel="prefetch" href="/docs/latest/assets/js/208.28fe0256.js"><link rel="prefetch" href="/docs/latest/assets/js/209.9be0ffc2.js"><link rel="prefetch" href="/docs/latest/assets/js/21.e052604d.js"><link rel="prefetch" href="/docs/latest/assets/js/210.4a57137a.js"><link rel="prefetch" href="/docs/latest/assets/js/211.17e55bd6.js"><link rel="prefetch" href="/docs/latest/assets/js/212.1c8d2acd.js"><link rel="prefetch" href="/docs/latest/assets/js/213.2dbf6c1c.js"><link rel="prefetch" href="/docs/latest/assets/js/214.2f1440f9.js"><link rel="prefetch" href="/docs/latest/assets/js/215.11ed947f.js"><link rel="prefetch" href="/docs/latest/assets/js/216.74863e9d.js"><link rel="prefetch" href="/docs/latest/assets/js/217.a8419f14.js"><link rel="prefetch" href="/docs/latest/assets/js/218.6bf9fc78.js"><link rel="prefetch" href="/docs/latest/assets/js/219.0169da15.js"><link rel="prefetch" href="/docs/latest/assets/js/22.28f307d4.js"><link rel="prefetch" href="/docs/latest/assets/js/220.c575f379.js"><link rel="prefetch" href="/docs/latest/assets/js/221.2947993e.js"><link rel="prefetch" href="/docs/latest/assets/js/222.2afa8e58.js"><link rel="prefetch" href="/docs/latest/assets/js/223.123abe52.js"><link rel="prefetch" href="/docs/latest/assets/js/224.93f4958f.js"><link rel="prefetch" href="/docs/latest/assets/js/225.a679632e.js"><link rel="prefetch" href="/docs/latest/assets/js/226.1f372629.js"><link rel="prefetch" href="/docs/latest/assets/js/227.01f26922.js"><link rel="prefetch" href="/docs/latest/assets/js/228.5b8a33de.js"><link rel="prefetch" href="/docs/latest/assets/js/229.2c43b3bd.js"><link rel="prefetch" href="/docs/latest/assets/js/23.2c1803cf.js"><link rel="prefetch" href="/docs/latest/assets/js/230.f6aef453.js"><link rel="prefetch" href="/docs/latest/assets/js/231.cb4e528d.js"><link rel="prefetch" href="/docs/latest/assets/js/232.ff3c6c5a.js"><link rel="prefetch" href="/docs/latest/assets/js/233.a09dfb10.js"><link rel="prefetch" href="/docs/latest/assets/js/234.16f55136.js"><link rel="prefetch" href="/docs/latest/assets/js/235.96d6441a.js"><link rel="prefetch" href="/docs/latest/assets/js/236.48813a68.js"><link rel="prefetch" href="/docs/latest/assets/js/237.f990a1ec.js"><link rel="prefetch" href="/docs/latest/assets/js/238.e5b4f649.js"><link rel="prefetch" href="/docs/latest/assets/js/239.291dc9f2.js"><link rel="prefetch" href="/docs/latest/assets/js/24.77df6298.js"><link rel="prefetch" href="/docs/latest/assets/js/240.8103995d.js"><link rel="prefetch" href="/docs/latest/assets/js/241.77f1ef6d.js"><link rel="prefetch" href="/docs/latest/assets/js/242.ec2780d4.js"><link rel="prefetch" href="/docs/latest/assets/js/243.37cf3af4.js"><link rel="prefetch" href="/docs/latest/assets/js/244.8dd0e249.js"><link rel="prefetch" href="/docs/latest/assets/js/245.6be09f0f.js"><link rel="prefetch" href="/docs/latest/assets/js/246.f8d4fa7a.js"><link rel="prefetch" href="/docs/latest/assets/js/247.42420fdd.js"><link rel="prefetch" href="/docs/latest/assets/js/248.c23ee98d.js"><link rel="prefetch" href="/docs/latest/assets/js/249.ab477af3.js"><link rel="prefetch" href="/docs/latest/assets/js/25.c7de846b.js"><link rel="prefetch" href="/docs/latest/assets/js/250.6e8d2ba3.js"><link rel="prefetch" href="/docs/latest/assets/js/251.b6b2f974.js"><link rel="prefetch" href="/docs/latest/assets/js/252.8ff946bc.js"><link rel="prefetch" href="/docs/latest/assets/js/253.16fcc019.js"><link rel="prefetch" href="/docs/latest/assets/js/254.b8ab3153.js"><link rel="prefetch" href="/docs/latest/assets/js/255.c6168ca8.js"><link rel="prefetch" href="/docs/latest/assets/js/256.8f91fc92.js"><link rel="prefetch" href="/docs/latest/assets/js/257.9d3758c5.js"><link rel="prefetch" href="/docs/latest/assets/js/258.cd89cf43.js"><link rel="prefetch" href="/docs/latest/assets/js/259.61dbc16e.js"><link rel="prefetch" href="/docs/latest/assets/js/26.03fea601.js"><link rel="prefetch" href="/docs/latest/assets/js/260.59b86bdc.js"><link rel="prefetch" href="/docs/latest/assets/js/261.e678254e.js"><link rel="prefetch" href="/docs/latest/assets/js/262.ce0c9d58.js"><link rel="prefetch" href="/docs/latest/assets/js/263.02a09c3e.js"><link rel="prefetch" href="/docs/latest/assets/js/264.9e7aa5e6.js"><link rel="prefetch" href="/docs/latest/assets/js/265.caa756fe.js"><link rel="prefetch" href="/docs/latest/assets/js/266.6e310b52.js"><link rel="prefetch" href="/docs/latest/assets/js/267.c48b8214.js"><link rel="prefetch" href="/docs/latest/assets/js/268.77c31416.js"><link rel="prefetch" href="/docs/latest/assets/js/27.a0d9661b.js"><link rel="prefetch" href="/docs/latest/assets/js/28.c2bbd22e.js"><link rel="prefetch" href="/docs/latest/assets/js/29.edc6cdb1.js"><link rel="prefetch" href="/docs/latest/assets/js/3.bb127fce.js"><link rel="prefetch" href="/docs/latest/assets/js/30.58943817.js"><link rel="prefetch" href="/docs/latest/assets/js/31.05bf300d.js"><link rel="prefetch" href="/docs/latest/assets/js/32.86c21b69.js"><link rel="prefetch" href="/docs/latest/assets/js/33.a04bc030.js"><link rel="prefetch" href="/docs/latest/assets/js/34.9261e152.js"><link rel="prefetch" href="/docs/latest/assets/js/35.9f137c62.js"><link rel="prefetch" href="/docs/latest/assets/js/36.b63af66d.js"><link rel="prefetch" href="/docs/latest/assets/js/37.f571e398.js"><link rel="prefetch" href="/docs/latest/assets/js/38.e0ccae6b.js"><link rel="prefetch" href="/docs/latest/assets/js/39.6686479c.js"><link rel="prefetch" href="/docs/latest/assets/js/4.5897c077.js"><link rel="prefetch" href="/docs/latest/assets/js/40.d2ea3899.js"><link rel="prefetch" href="/docs/latest/assets/js/41.70418b50.js"><link rel="prefetch" href="/docs/latest/assets/js/42.4ff9f3d5.js"><link rel="prefetch" href="/docs/latest/assets/js/43.bf702a0d.js"><link rel="prefetch" href="/docs/latest/assets/js/44.c9410168.js"><link rel="prefetch" href="/docs/latest/assets/js/45.a3605880.js"><link rel="prefetch" href="/docs/latest/assets/js/46.23692797.js"><link rel="prefetch" href="/docs/latest/assets/js/47.6078eee1.js"><link rel="prefetch" href="/docs/latest/assets/js/48.a071f769.js"><link rel="prefetch" href="/docs/latest/assets/js/49.211def19.js"><link rel="prefetch" href="/docs/latest/assets/js/5.ed1eea17.js"><link rel="prefetch" href="/docs/latest/assets/js/50.0c989648.js"><link rel="prefetch" href="/docs/latest/assets/js/51.57b0568d.js"><link rel="prefetch" href="/docs/latest/assets/js/52.821bc064.js"><link rel="prefetch" href="/docs/latest/assets/js/53.a10f3570.js"><link rel="prefetch" href="/docs/latest/assets/js/54.e364607e.js"><link rel="prefetch" href="/docs/latest/assets/js/55.74f20f58.js"><link rel="prefetch" href="/docs/latest/assets/js/56.9bb69bd9.js"><link rel="prefetch" href="/docs/latest/assets/js/57.d13e1f2c.js"><link rel="prefetch" href="/docs/latest/assets/js/58.ae64ef04.js"><link rel="prefetch" href="/docs/latest/assets/js/59.18fb0daf.js"><link rel="prefetch" href="/docs/latest/assets/js/6.6a7a006f.js"><link rel="prefetch" href="/docs/latest/assets/js/60.e1b75e7e.js"><link rel="prefetch" href="/docs/latest/assets/js/61.6e22e73d.js"><link rel="prefetch" href="/docs/latest/assets/js/62.2c43dacd.js"><link rel="prefetch" href="/docs/latest/assets/js/63.3e5c59ef.js"><link rel="prefetch" href="/docs/latest/assets/js/64.7e7d10cb.js"><link rel="prefetch" href="/docs/latest/assets/js/65.6d7b327c.js"><link rel="prefetch" href="/docs/latest/assets/js/66.47306b72.js"><link rel="prefetch" href="/docs/latest/assets/js/67.ef802daf.js"><link rel="prefetch" href="/docs/latest/assets/js/68.4c36f508.js"><link rel="prefetch" href="/docs/latest/assets/js/69.6884afc3.js"><link rel="prefetch" href="/docs/latest/assets/js/7.2b9bb0cc.js"><link rel="prefetch" href="/docs/latest/assets/js/70.753aeeeb.js"><link rel="prefetch" href="/docs/latest/assets/js/71.02132ae7.js"><link rel="prefetch" href="/docs/latest/assets/js/72.93a262fa.js"><link rel="prefetch" href="/docs/latest/assets/js/73.63823760.js"><link rel="prefetch" href="/docs/latest/assets/js/74.8bbf353a.js"><link rel="prefetch" href="/docs/latest/assets/js/75.4b40b642.js"><link rel="prefetch" href="/docs/latest/assets/js/76.87207961.js"><link rel="prefetch" href="/docs/latest/assets/js/77.74919e96.js"><link rel="prefetch" href="/docs/latest/assets/js/78.7690f014.js"><link rel="prefetch" href="/docs/latest/assets/js/79.e269897b.js"><link rel="prefetch" href="/docs/latest/assets/js/8.e267e498.js"><link rel="prefetch" href="/docs/latest/assets/js/80.e6365a67.js"><link rel="prefetch" href="/docs/latest/assets/js/81.333a82f2.js"><link rel="prefetch" href="/docs/latest/assets/js/82.d944b8b9.js"><link rel="prefetch" href="/docs/latest/assets/js/83.c27c28df.js"><link rel="prefetch" href="/docs/latest/assets/js/84.9e1ca72d.js"><link rel="prefetch" href="/docs/latest/assets/js/85.8aed2510.js"><link rel="prefetch" href="/docs/latest/assets/js/86.13b36328.js"><link rel="prefetch" href="/docs/latest/assets/js/87.a66620db.js"><link rel="prefetch" href="/docs/latest/assets/js/88.d2527a78.js"><link rel="prefetch" href="/docs/latest/assets/js/89.45cfdeb3.js"><link rel="prefetch" href="/docs/latest/assets/js/9.3427a556.js"><link rel="prefetch" href="/docs/latest/assets/js/90.5793b0b0.js"><link rel="prefetch" href="/docs/latest/assets/js/91.292294a6.js"><link rel="prefetch" href="/docs/latest/assets/js/92.26377cb3.js"><link rel="prefetch" href="/docs/latest/assets/js/93.b98fe0e9.js"><link rel="prefetch" href="/docs/latest/assets/js/94.d98598be.js"><link rel="prefetch" href="/docs/latest/assets/js/95.e241010d.js"><link rel="prefetch" href="/docs/latest/assets/js/96.e2a1f228.js"><link rel="prefetch" href="/docs/latest/assets/js/97.383a3a23.js"><link rel="prefetch" href="/docs/latest/assets/js/98.ad06bcf6.js"><link rel="prefetch" href="/docs/latest/assets/js/99.809adbec.js">
<link rel="stylesheet" href="/docs/latest/assets/css/0.styles.6dc2f403.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/latest/" class="home-link router-link-active"><img src="/docs/latest/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/latest/" class="nav-link">
Home
</a></div><div class="nav-item"><a href="/docs/latest/api/" class="nav-link">
API
</a></div><div class="nav-item"><a href="/docs/latest/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://discord.gg/HxEguTK6av" target="_blank" rel="noopener noreferrer" class="nav-link external">
Discord
<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/latest/" class="nav-link">
Home
</a></div><div class="nav-item"><a href="/docs/latest/api/" class="nav-link">
API
</a></div><div class="nav-item"><a href="/docs/latest/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://discord.gg/HxEguTK6av" target="_blank" rel="noopener noreferrer" class="nav-link external">
Discord
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="https://stackoverflow.com/questions/tagged/chart.js" target="_blank" rel="noopener noreferrer" class="nav-link external">
Stack Overflow
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div> <a href="https://github.com/chartjs/Chart.js" target="_blank" rel="noopener noreferrer" class="repo-link">
GitHub
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <ul class="sidebar-links"><li><a href="/docs/latest/" aria-current="page" class="sidebar-link">Chart.js</a></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Getting Started</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>General</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>Configuration</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/docs/latest/configuration/" aria-current="page" class="sidebar-link">Configuration</a></li><li><a href="/docs/latest/configuration/animations.html" class="sidebar-link">Animations</a></li><li><a href="/docs/latest/configuration/canvas-background.html" class="sidebar-link">Canvas background</a></li><li><a href="/docs/latest/configuration/decimation.html" class="sidebar-link">Data Decimation</a></li><li><a href="/docs/latest/configuration/device-pixel-ratio.html" class="sidebar-link">Device Pixel Ratio</a></li><li><a href="/docs/latest/configuration/elements.html" class="sidebar-link">Elements</a></li><li><a href="/docs/latest/configuration/interactions.html" class="sidebar-link">Interactions</a></li><li><a href="/docs/latest/configuration/layout.html" class="sidebar-link">Layout</a></li><li><a href="/docs/latest/configuration/legend.html" aria-current="page" class="active sidebar-link">Legend</a></li><li><a href="/docs/latest/configuration/locale.html" class="sidebar-link">Locale</a></li><li><a href="/docs/latest/configuration/responsive.html" class="sidebar-link">Responsive Charts</a></li><li><a href="/docs/latest/configuration/subtitle.html" class="sidebar-link">Subtitle</a></li><li><a href="/docs/latest/configuration/title.html" class="sidebar-link">Title</a></li><li><a href="/docs/latest/configuration/tooltip.html" class="sidebar-link">Tooltip</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Chart Types</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Axes</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Developers</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Migration</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="legend"><a href="#legend" class="header-anchor">#</a> Legend</h1> <p>The chart legend displays data about the datasets that are appearing on the chart.</p> <h2 id="configuration-options"><a href="#configuration-options" class="header-anchor">#</a> Configuration options</h2> <p>Namespace: <code>options.plugins.legend</code>, the global options for the chart legend is defined in <code>Chart.defaults.plugins.legend</code>.</p> <div class="custom-block warning"><p class="custom-block-title">WARNING</p> <p>The doughnut, pie, and polar area charts override the legend defaults. To change the overrides for those chart types, the options are defined in <code>Chart.overrides[type].plugins.legend</code>.</p></div> <table><thead><tr><th>Name</th> <th>Type</th> <th>Default</th> <th>Description</th></tr></thead> <tbody><tr><td><code>display</code></td> <td><code>boolean</code></td> <td><code>true</code></td> <td>Is the legend shown?</td></tr> <tr><td><code>position</code></td> <td><code>string</code></td> <td><code>'top'</code></td> <td>Position of the legend. <a href="#position">more...</a></td></tr> <tr><td><code>align</code></td> <td><code>string</code></td> <td><code>'center'</code></td> <td>Alignment of the legend. <a href="#align">more...</a></td></tr> <tr><td><code>maxHeight</code></td> <td><code>number</code></td> <td></td> <td>Maximum height of the legend, in pixels</td></tr> <tr><td><code>maxWidth</code></td> <td><code>number</code></td> <td></td> <td>Maximum width of the legend, in pixels</td></tr> <tr><td><code>fullSize</code></td> <td><code>boolean</code></td> <td><code>true</code></td> <td>Marks that this box should take the full width/height of the canvas (moving other boxes). This is unlikely to need to be changed in day-to-day use.</td></tr> <tr><td><code>onClick</code></td> <td><code>function</code></td> <td></td> <td>A callback that is called when a click event is registered on a label item. Arguments: <code>[event, legendItem, legend]</code>.</td></tr> <tr><td><code>onHover</code></td> <td><code>function</code></td> <td></td> <td>A callback that is called when a 'mousemove' event is registered on top of a label item. Arguments: <code>[event, legendItem, legend]</code>.</td></tr> <tr><td><code>onLeave</code></td> <td><code>function</code></td> <td></td> <td>A callback that is called when a 'mousemove' event is registered outside of a previously hovered label item. Arguments: <code>[event, legendItem, legend]</code>.</td></tr> <tr><td><code>reverse</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Legend will show datasets in reverse order.</td></tr> <tr><td><code>labels</code></td> <td><code>object</code></td> <td></td> <td>See the <a href="#legend-label-configuration">Legend Label Configuration</a> section below.</td></tr> <tr><td><code>rtl</code></td> <td><code>boolean</code></td> <td></td> <td><code>true</code> for rendering the legends from right to left.</td></tr> <tr><td><code>textDirection</code></td> <td><code>string</code></td> <td>canvas' default</td> <td>This will force the text direction <code>'rtl'</code> or <code>'ltr'</code> on the canvas for rendering the legend, regardless of the css specified on the canvas</td></tr> <tr><td><code>title</code></td> <td><code>object</code></td> <td></td> <td>See the <a href="#legend-title-configuration">Legend Title Configuration</a> section below.</td></tr></tbody></table> <div class="custom-block tip"><p class="custom-block-title">Note</p> <p>If you need more visual customizations, please use an <a href="/docs/latest/samples/legend/html.html">HTML legend</a>.</p></div> <h2 id="position"><a href="#position" class="header-anchor">#</a> Position</h2> <p>Position of the legend. Options are:</p> <ul><li><code>'top'</code></li> <li><code>'left'</code></li> <li><code>'bottom'</code></li> <li><code>'right'</code></li> <li><code>'chartArea'</code></li></ul> <p>When using the <code>'chartArea'</code> option the legend position is at the moment not configurable, it will always be on the left side of the chart in the middle.</p> <h2 id="align"><a href="#align" class="header-anchor">#</a> Align</h2> <p>Alignment of the legend. Options are:</p> <ul><li><code>'start'</code></li> <li><code>'center'</code></li> <li><code>'end'</code></li></ul> <p>Defaults to <code>'center'</code> for unrecognized values.</p> <h2 id="legend-label-configuration"><a href="#legend-label-configuration" class="header-anchor">#</a> Legend Label Configuration</h2> <p>Namespace: <code>options.plugins.legend.labels</code></p> <table><thead><tr><th>Name</th> <th>Type</th> <th>Default</th> <th>Description</th></tr></thead> <tbody><tr><td><code>boxWidth</code></td> <td><code>number</code></td> <td><code>40</code></td> <td>Width of coloured box.</td></tr> <tr><td><code>boxHeight</code></td> <td><code>number</code></td> <td><code>font.size</code></td> <td>Height of the coloured box.</td></tr> <tr><td><code>color</code></td> <td><a href="/docs/latest/general/colors.html"><code>Color</code></a></td> <td><code>Chart.defaults.color</code></td> <td>Color of label and the strikethrough.</td></tr> <tr><td><code>font</code></td> <td><code>Font</code></td> <td><code>Chart.defaults.font</code></td> <td>See <a href="/docs/latest/general/fonts.html">Fonts</a></td></tr> <tr><td><code>padding</code></td> <td><code>number</code></td> <td><code>10</code></td> <td>Padding between rows of colored boxes.</td></tr> <tr><td><code>generateLabels</code></td> <td><code>function</code></td> <td></td> <td>Generates legend items for each thing in the legend. Default implementation returns the text + styling for the color box. See <a href="#legend-item-interface">Legend Item</a> for details.</td></tr> <tr><td><code>filter</code></td> <td><code>function</code></td> <td><code>null</code></td> <td>Filters legend items out of the legend. Receives 2 parameters, a <a href="#legend-item-interface">Legend Item</a> and the chart data.</td></tr> <tr><td><code>sort</code></td> <td><code>function</code></td> <td><code>null</code></td> <td>Sorts legend items. Type is : <code>sort(a: LegendItem, b: LegendItem, data: ChartData): number;</code>. Receives 3 parameters, two <a href="#legend-item-interface">Legend Items</a> and the chart data. The return value of the function is a number that indicates the order of the two legend item parameters. The ordering matches the <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#description" target="_blank" rel="noopener noreferrer">return value<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> of <code>Array.prototype.sort()</code></td></tr> <tr><td><a href="/docs/latest/configuration/elements.html#point-styles"><code>pointStyle</code></a></td> <td><a href="/docs/latest/configuration/elements.html#types"><code>pointStyle</code></a></td> <td><code>'circle'</code></td> <td>If specified, this style of point is used for the legend. Only used if <code>usePointStyle</code> is true.</td></tr> <tr><td><code>textAlign</code></td> <td><code>string</code></td> <td><code>'center'</code></td> <td>Horizontal alignment of the label text. Options are: <code>'left'</code>, <code>'right'</code> or <code>'center'</code>.</td></tr> <tr><td><code>usePointStyle</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Label style will match corresponding point style (size is based on pointStyleWidth or the minimum value between boxWidth and font.size).</td></tr> <tr><td><code>pointStyleWidth</code></td> <td><code>number</code></td> <td><code>null</code></td> <td>If <code>usePointStyle</code> is true, the width of the point style used for the legend.</td></tr> <tr><td><code>useBorderRadius</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Label borderRadius will match corresponding borderRadius.</td></tr> <tr><td><code>borderRadius</code></td> <td><code>number</code></td> <td><code>undefined</code></td> <td>Override the borderRadius to use.</td></tr></tbody></table> <h2 id="legend-title-configuration"><a href="#legend-title-configuration" class="header-anchor">#</a> Legend Title Configuration</h2> <p>Namespace: <code>options.plugins.legend.title</code></p> <table><thead><tr><th>Name</th> <th>Type</th> <th>Default</th> <th>Description</th></tr></thead> <tbody><tr><td><code>color</code></td> <td><a href="/docs/latest/general/colors.html"><code>Color</code></a></td> <td><code>Chart.defaults.color</code></td> <td>Color of text.</td></tr> <tr><td><code>display</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Is the legend title displayed.</td></tr> <tr><td><code>font</code></td> <td><code>Font</code></td> <td><code>Chart.defaults.font</code></td> <td>See <a href="/docs/latest/general/fonts.html">Fonts</a></td></tr> <tr><td><code>padding</code></td> <td><a href="/docs/latest/general/padding.html"><code>Padding</code></a></td> <td><code>0</code></td> <td>Padding around the title.</td></tr> <tr><td><code>text</code></td> <td><code>string</code></td> <td></td> <td>The string title.</td></tr></tbody></table> <h2 id="legend-item-interface"><a href="#legend-item-interface" class="header-anchor">#</a> Legend Item Interface</h2> <p>Items passed to the legend <code>onClick</code> function are the ones returned from <code>labels.generateLabels</code>. These items must implement the following interface.</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code><span class="token punctuation">{</span>
<span class="token comment">// Label that will be displayed</span>
<span class="token literal-property property">text</span><span class="token operator">:</span> string<span class="token punctuation">,</span>
<span class="token comment">// Border radius of the legend item.</span>
<span class="token comment">// Introduced in 3.1.0</span>
borderRadius<span class="token operator">?</span><span class="token operator">:</span> number <span class="token operator">|</span> BorderRadius<span class="token punctuation">,</span>
<span class="token comment">// Index of the associated dataset</span>
<span class="token literal-property property">datasetIndex</span><span class="token operator">:</span> number<span class="token punctuation">,</span>
<span class="token comment">// Fill style of the legend box</span>
<span class="token literal-property property">fillStyle</span><span class="token operator">:</span> Color<span class="token punctuation">,</span>
<span class="token comment">// Text color</span>
<span class="token literal-property property">fontColor</span><span class="token operator">:</span> Color<span class="token punctuation">,</span>
<span class="token comment">// If true, this item represents a hidden dataset. Label will be rendered with a strike-through effect</span>
<span class="token literal-property property">hidden</span><span class="token operator">:</span> boolean<span class="token punctuation">,</span>
<span class="token comment">// For box border. See https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap</span>
<span class="token literal-property property">lineCap</span><span class="token operator">:</span> string<span class="token punctuation">,</span>
<span class="token comment">// For box border. See https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash</span>
<span class="token literal-property property">lineDash</span><span class="token operator">:</span> number<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
<span class="token comment">// For box border. See https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineDashOffset</span>
<span class="token literal-property property">lineDashOffset</span><span class="token operator">:</span> number<span class="token punctuation">,</span>
<span class="token comment">// For box border. See https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lineJoin</span>
<span class="token literal-property property">lineJoin</span><span class="token operator">:</span> string<span class="token punctuation">,</span>
<span class="token comment">// Width of box border</span>
<span class="token literal-property property">lineWidth</span><span class="token operator">:</span> number<span class="token punctuation">,</span>
<span class="token comment">// Stroke style of the legend box</span>
<span class="token literal-property property">strokeStyle</span><span class="token operator">:</span> Color<span class="token punctuation">,</span>
<span class="token comment">// Point style of the legend box (only used if usePointStyle is true)</span>
<span class="token literal-property property">pointStyle</span><span class="token operator">:</span> string <span class="token operator">|</span> Image <span class="token operator">|</span> HTMLCanvasElement<span class="token punctuation">,</span>
<span class="token comment">// Rotation of the point in degrees (only used if usePointStyle is true)</span>
<span class="token literal-property property">rotation</span><span class="token operator">:</span> number
<span class="token punctuation">}</span>
</code></pre></div><h2 id="example"><a href="#example" class="header-anchor">#</a> Example</h2> <p>The following example will create a chart with the legend enabled and turn all the text red in color.</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code><span class="token keyword">const</span> chart <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Chart</span><span class="token punctuation">(</span>ctx<span class="token punctuation">,</span> <span class="token punctuation">{</span>
<span class="token literal-property property">type</span><span class="token operator">:</span> <span class="token string">'bar'</span><span class="token punctuation">,</span>
<span class="token literal-property property">data</span><span class="token operator">:</span> data<span class="token punctuation">,</span>
<span class="token literal-property property">options</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token literal-property property">plugins</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token literal-property property">legend</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token literal-property property">display</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span>
<span class="token literal-property property">labels</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token literal-property property">color</span><span class="token operator">:</span> <span class="token string">'rgb(255, 99, 132)'</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><h2 id="custom-on-click-actions"><a href="#custom-on-click-actions" class="header-anchor">#</a> Custom On Click Actions</h2> <p>It can be common to want to trigger different behaviour when clicking an item in the legend. This can be easily achieved using a callback in the config object.</p> <p>The default legend click handler is:</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code><span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">e<span class="token punctuation">,</span> legendItem<span class="token punctuation">,</span> legend</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> index <span class="token operator">=</span> legendItem<span class="token punctuation">.</span>datasetIndex<span class="token punctuation">;</span>
<span class="token keyword">const</span> ci <span class="token operator">=</span> legend<span class="token punctuation">.</span>chart<span class="token punctuation">;</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>ci<span class="token punctuation">.</span><span class="token function">isDatasetVisible</span><span class="token punctuation">(</span>index<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
ci<span class="token punctuation">.</span><span class="token function">hide</span><span class="token punctuation">(</span>index<span class="token punctuation">)</span><span class="token punctuation">;</span>
legendItem<span class="token punctuation">.</span>hidden <span class="token operator">=</span> <span class="token boolean">true</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span>
ci<span class="token punctuation">.</span><span class="token function">show</span><span class="token punctuation">(</span>index<span class="token punctuation">)</span><span class="token punctuation">;</span>
legendItem<span class="token punctuation">.</span>hidden <span class="token operator">=</span> <span class="token boolean">false</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre></div><p>Let's say we wanted instead to link the display of the first two datasets. We could change the click handler accordingly.</p> <div class="language-javascript extra-class"><pre class="language-javascript"><code><span class="token keyword">const</span> defaultLegendClickHandler <span class="token operator">=</span> Chart<span class="token punctuation">.</span>defaults<span class="token punctuation">.</span>plugins<span class="token punctuation">.</span>legend<span class="token punctuation">.</span>onClick<span class="token punctuation">;</span>
<span class="token keyword">const</span> pieDoughnutLegendClickHandler <span class="token operator">=</span> Chart<span class="token punctuation">.</span>controllers<span class="token punctuation">.</span>doughnut<span class="token punctuation">.</span>overrides<span class="token punctuation">.</span>plugins<span class="token punctuation">.</span>legend<span class="token punctuation">.</span>onClick<span class="token punctuation">;</span>
<span class="token keyword">const</span> <span class="token function-variable function">newLegendClickHandler</span> <span class="token operator">=</span> <span class="token keyword">function</span> <span class="token punctuation">(</span><span class="token parameter">e<span class="token punctuation">,</span> legendItem<span class="token punctuation">,</span> legend</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> index <span class="token operator">=</span> legendItem<span class="token punctuation">.</span>datasetIndex<span class="token punctuation">;</span>
<span class="token keyword">const</span> type <span class="token operator">=</span> legend<span class="token punctuation">.</span>chart<span class="token punctuation">.</span>config<span class="token punctuation">.</span>type<span class="token punctuation">;</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>index <span class="token operator">></span> <span class="token number">1</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token comment">// Do the original logic</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>type <span class="token operator">===</span> <span class="token string">'pie'</span> <span class="token operator">||</span> type <span class="token operator">===</span> <span class="token string">'doughnut'</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token function">pieDoughnutLegendClickHandler</span><span class="token punctuation">(</span>e<span class="token punctuation">,</span> legendItem<span class="token punctuation">,</span> legend<span class="token punctuation">)</span>
<span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span>
<span class="token function">defaultLegendClickHandler</span><span class="token punctuation">(</span>e<span class="token punctuation">,</span> legendItem<span class="token punctuation">,</span> legend<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span>
<span class="token keyword">let</span> ci <span class="token operator">=</span> legend<span class="token punctuation">.</span>chart<span class="token punctuation">;</span>
<span class="token punctuation">[</span>
ci<span class="token punctuation">.</span><span class="token function">getDatasetMeta</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">,</span>
ci<span class="token punctuation">.</span><span class="token function">getDatasetMeta</span><span class="token punctuation">(</span><span class="token number">1</span><span class="token punctuation">)</span>
<span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">forEach</span><span class="token punctuation">(</span><span class="token keyword">function</span><span class="token punctuation">(</span><span class="token parameter">meta</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
meta<span class="token punctuation">.</span>hidden <span class="token operator">=</span> meta<span class="token punctuation">.</span>hidden <span class="token operator">===</span> <span class="token keyword">null</span> <span class="token operator">?</span> <span class="token operator">!</span>ci<span class="token punctuation">.</span>data<span class="token punctuation">.</span>datasets<span class="token punctuation">[</span>index<span class="token punctuation">]</span><span class="token punctuation">.</span>hidden <span class="token operator">:</span> <span class="token keyword">null</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
ci<span class="token punctuation">.</span><span class="token function">update</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> chart <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Chart</span><span class="token punctuation">(</span>ctx<span class="token punctuation">,</span> <span class="token punctuation">{</span>
<span class="token literal-property property">type</span><span class="token operator">:</span> <span class="token string">'line'</span><span class="token punctuation">,</span>
<span class="token literal-property property">data</span><span class="token operator">:</span> data<span class="token punctuation">,</span>
<span class="token literal-property property">options</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token literal-property property">plugins</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token literal-property property">legend</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token literal-property property">onClick</span><span class="token operator">:</span> newLegendClickHandler
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
</code></pre></div><p>Now when you click the legend in this chart, the visibility of the first two datasets will be linked together.</p></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">4/15/2025, 1:19:05 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
←
<a href="/docs/latest/configuration/layout.html" class="prev">
Layout
</a></span> <span class="next"><a href="/docs/latest/configuration/locale.html">
Locale
</a>
→
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/latest/assets/js/app.1775731d.js" defer></script><script src="/docs/latest/assets/js/2.2c2b1036.js" defer></script><script src="/docs/latest/assets/js/167.f8e315e4.js" defer></script>
</body>
</html>