-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathutils.html
190 lines (190 loc) · 59.7 KB
/
utils.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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Utils | Chart.js</title>
<meta name="generator" content="VuePress 1.8.2">
<link rel="icon" href="/docs/3.6.2/favicon.ico">
<meta name="description" content="Open source HTML5 Charts for your website">
<link rel="preload" href="/docs/3.6.2/assets/css/0.styles.eed913be.css" as="style"><link rel="preload" href="/docs/3.6.2/assets/js/app.2ca8d9a1.js" as="script"><link rel="preload" href="/docs/3.6.2/assets/js/2.413130e4.js" as="script"><link rel="preload" href="/docs/3.6.2/assets/js/249.c3adb24d.js" as="script"><link rel="prefetch" href="/docs/3.6.2/assets/js/10.499ad830.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/100.c659b372.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/101.ade680ea.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/102.f8e26ce2.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/103.d80c6d2e.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/104.1e796c89.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/105.f9b1a87e.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/106.57029c39.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/107.aed4d666.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/108.01e0d2c2.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/109.a78f5d2a.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/11.c5b17224.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/110.865e3d01.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/111.f77360eb.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/112.74cb9a25.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/113.582530a8.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/114.d72f37d0.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/115.373721fe.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/116.bf2cf4cc.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/117.182a4f92.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/118.6725dd99.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/119.a8e1ce7e.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/12.786c7f40.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/120.ca80eb31.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/121.b5790737.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/122.01e22b0e.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/123.0de10a0f.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/124.5b12b311.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/125.836f77c0.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/126.eb23f0e1.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/127.a5821e11.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/128.6fa2655b.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/129.05bdf7c1.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/13.ddd4e2f8.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/130.f07ec287.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/131.ffdb5bb9.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/132.04d869bf.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/133.2e28d5e7.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/134.82730c9b.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/135.1558393c.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/136.1ef1854b.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/137.951a6d7f.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/138.d6b7cc34.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/139.8e8cfa43.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/14.172e0a00.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/140.9168d68d.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/141.e1750e91.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/142.bf90fea8.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/143.140724b4.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/144.9df4d6c8.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/145.febfa863.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/146.c5f7eed6.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/147.f8b34fd3.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/148.66650264.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/149.548f7f47.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/15.25467550.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/150.85f9362f.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/151.482a9f35.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/152.576ca86f.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/153.935a1a3a.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/154.9f539141.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/155.7ba95295.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/156.1be8ccb1.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/157.04691de9.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/158.10f960a6.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/159.0a54b3ca.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/16.150fc889.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/160.08dc46b5.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/161.f19be8b6.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/162.6ca1f16a.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/163.c2a57dfe.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/164.42a79c1f.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/165.74486c25.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/166.3c6c7e32.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/167.2c97d8e5.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/168.ce5b206b.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/169.36b4e508.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/17.09659df6.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/170.75a9c877.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/171.c57ea92b.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/172.e69e2ca2.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/173.75190231.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/174.f2b294bf.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/175.654247ab.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/176.17e549aa.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/177.932d58bd.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/178.f5fc39c9.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/179.9c39c3a8.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/18.d804c2ac.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/180.5fa50b39.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/181.08259b6b.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/182.635cbc1d.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/183.96eb23ea.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/184.1dee1078.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/185.e4916e00.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/186.977d0bc2.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/187.c00f14d6.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/188.185442d6.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/189.49d8c55e.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/19.4dc42898.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/190.714c23ad.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/191.62ed8e93.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/192.db46561d.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/193.52aad887.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/194.67c30a5c.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/195.4dc43acc.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/196.77cc2a08.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/197.43daff09.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/198.44e7429c.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/199.f1956670.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/20.64100c1f.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/200.137a83d7.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/201.9646ad65.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/202.bba3d4d6.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/203.ee97ae91.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/204.073a71ad.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/205.2bec4039.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/206.428cabeb.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/207.d640cca6.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/208.3316be05.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/209.eca464a0.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/21.7cae9449.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/210.2a62f962.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/211.b78a70e5.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/212.2069af08.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/213.c59f229d.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/214.e3bd5725.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/215.135a5c21.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/216.a079389b.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/217.2fb9e7a1.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/218.ad6ade75.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/219.32498948.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/22.a849185d.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/220.d863dc72.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/221.e97b3327.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/222.8ddd8ad4.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/223.5f15733a.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/224.050b3be1.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/225.c361dc33.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/226.fec5e025.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/227.1432e018.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/228.5dbb7c20.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/229.5b0b276a.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/23.f0704cc1.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/230.6a042229.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/231.4ec3579a.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/232.da2cb431.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/233.32df7400.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/234.150d53b8.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/235.888b655d.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/236.75f061a1.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/237.123a83df.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/238.6b92a4cc.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/239.e7c56491.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/24.3ace5fbd.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/240.90972bd0.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/241.2571e413.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/242.8cc98a9d.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/243.49aa91c0.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/244.37e70b92.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/245.ea78d7e7.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/246.567a627f.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/247.714b8810.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/248.f3152c38.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/25.0b2d1052.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/26.1cdb46b1.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/27.81093f8c.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/28.63fa25c6.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/29.6614b1e3.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/3.e2fd7cce.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/30.b55daaec.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/31.98b51f37.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/32.b0f704ed.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/33.15a25289.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/34.c2f7e419.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/35.8de774e5.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/36.fa88ea66.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/37.8d8c1854.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/38.34558483.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/39.374eeb7e.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/4.cfb630b3.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/40.a8ca9282.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/41.b306ddd8.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/42.542462fd.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/43.d92779ee.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/44.9abd8554.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/45.89435ca3.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/46.bc45159b.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/47.5a31e461.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/48.9843c5e4.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/49.ee598fc2.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/5.82c7afe1.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/50.3a0f04f4.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/51.c7b8a653.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/52.6e41a280.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/53.3f008cd2.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/54.7aebd691.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/55.8c12e4c3.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/56.599c1fbc.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/57.bc936068.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/58.706778f2.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/59.abaea5c8.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/6.3a712537.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/60.7418b5de.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/61.5c170278.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/62.8740fa45.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/63.caf1fdfb.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/64.cd899dae.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/65.6a60e234.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/66.1a3ee165.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/67.fc16965a.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/68.016a80e8.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/69.969b32ee.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/7.5ce46ca3.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/70.752c6c8d.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/71.65523243.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/72.b7ef456b.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/73.183bb5f9.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/74.53023cb4.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/75.daecde12.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/76.c228e409.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/77.c5443719.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/78.ee73501b.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/79.77530a6a.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/8.eabe9f87.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/80.3da8376d.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/81.aed2367e.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/82.31ab8f26.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/83.07fe1944.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/84.f1ac6cbd.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/85.360fda23.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/86.592761d3.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/87.b61f96be.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/88.f959c1e4.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/89.cbe776ea.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/9.ede74743.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/90.83dad6ff.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/91.4833b1b5.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/92.c6571ece.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/93.ffa1fcd2.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/94.b64cee03.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/95.62ac5c3b.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/96.8a50680a.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/97.f9784ba7.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/98.f1c3b6ff.js"><link rel="prefetch" href="/docs/3.6.2/assets/js/99.c8d0f2fc.js">
<link rel="stylesheet" href="/docs/3.6.2/assets/css/0.styles.eed913be.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.6.2/" class="home-link router-link-active"><img src="/docs/3.6.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.6.2/" class="nav-link">
Home
</a></div><div class="nav-item"><a href="/docs/3.6.2/api/" class="nav-link">
API
</a></div><div class="nav-item"><a href="/docs/3.6.2/samples/" class="nav-link router-link-active">
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.6.2/" class="nav-link">
Home
</a></div><div class="nav-item"><a href="/docs/3.6.2/api/" class="nav-link">
API
</a></div><div class="nav-item"><a href="/docs/3.6.2/samples/" class="nav-link router-link-active">
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 collapsable depth-0"><p class="sidebar-heading open"><span>Bar Charts</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/docs/3.6.2/samples/bar/vertical.html" class="sidebar-link">Vertical Bar Chart</a></li><li><a href="/docs/3.6.2/samples/bar/horizontal.html" class="sidebar-link">Horizontal Bar Chart</a></li><li><a href="/docs/3.6.2/samples/bar/stacked.html" class="sidebar-link">Stacked Bar Chart</a></li><li><a href="/docs/3.6.2/samples/bar/stacked-groups.html" class="sidebar-link">Stacked Bar Chart with Groups</a></li><li><a href="/docs/3.6.2/samples/bar/floating.html" class="sidebar-link">Floating Bars</a></li><li><a href="/docs/3.6.2/samples/bar/border-radius.html" class="sidebar-link">Bar Chart Border Radius</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Line Charts</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Other charts</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Area charts</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Scales</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Scale Options</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Legend</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Title</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Subtitle</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Tooltip</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Scriptable Options</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Animations</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Advanced</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Plugins</span> <span class="arrow right"></span></p> <!----></section></li><li><a href="/docs/3.6.2/samples/utils.html" aria-current="page" class="active sidebar-link">Utils</a></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="utils"><a href="#utils" class="header-anchor">#</a> Utils</h1> <h2 id="disclaimer"><a href="#disclaimer" class="header-anchor">#</a> Disclaimer</h2> <p>The Utils file contains multiple helper functions that the chart.js sample pages use to generate charts.
These functions are subject to change, including but not limited to breaking changes without prior notice.</p> <p>Because of this please don't rely on this file in production environments.</p> <h2 id="functions"><a href="#functions" class="header-anchor">#</a> Functions</h2> <div class="language-js extra-class"><pre class="language-js"><code><span class="token keyword">import</span> colorLib <span class="token keyword">from</span> <span class="token string">'@kurkle/color'</span><span class="token punctuation">;</span>
<span class="token keyword">import</span> <span class="token punctuation">{</span>DateTime<span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'luxon'</span><span class="token punctuation">;</span>
<span class="token keyword">import</span> <span class="token string">'chartjs-adapter-luxon'</span><span class="token punctuation">;</span>
<span class="token keyword">import</span> <span class="token punctuation">{</span>valueOrDefault<span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'../../dist/helpers.esm'</span><span class="token punctuation">;</span>
<span class="token comment">// Adapted from http://indiegamr.com/generate-repeatable-random-numbers-in-js/</span>
<span class="token keyword">var</span> _seed <span class="token operator">=</span> Date<span class="token punctuation">.</span><span class="token function">now</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">export</span> <span class="token keyword">function</span> <span class="token function">srand</span><span class="token punctuation">(</span><span class="token parameter">seed</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
_seed <span class="token operator">=</span> seed<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">export</span> <span class="token keyword">function</span> <span class="token function">rand</span><span class="token punctuation">(</span><span class="token parameter">min<span class="token punctuation">,</span> max</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
min <span class="token operator">=</span> <span class="token function">valueOrDefault</span><span class="token punctuation">(</span>min<span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
max <span class="token operator">=</span> <span class="token function">valueOrDefault</span><span class="token punctuation">(</span>max<span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
_seed <span class="token operator">=</span> <span class="token punctuation">(</span>_seed <span class="token operator">*</span> <span class="token number">9301</span> <span class="token operator">+</span> <span class="token number">49297</span><span class="token punctuation">)</span> <span class="token operator">%</span> <span class="token number">233280</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> min <span class="token operator">+</span> <span class="token punctuation">(</span>_seed <span class="token operator">/</span> <span class="token number">233280</span><span class="token punctuation">)</span> <span class="token operator">*</span> <span class="token punctuation">(</span>max <span class="token operator">-</span> min<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">export</span> <span class="token keyword">function</span> <span class="token function">numbers</span><span class="token punctuation">(</span><span class="token parameter">config</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">var</span> cfg <span class="token operator">=</span> config <span class="token operator">||</span> <span class="token punctuation">{</span><span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> min <span class="token operator">=</span> <span class="token function">valueOrDefault</span><span class="token punctuation">(</span>cfg<span class="token punctuation">.</span>min<span class="token punctuation">,</span> <span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> max <span class="token operator">=</span> <span class="token function">valueOrDefault</span><span class="token punctuation">(</span>cfg<span class="token punctuation">.</span>max<span class="token punctuation">,</span> <span class="token number">100</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> from <span class="token operator">=</span> <span class="token function">valueOrDefault</span><span class="token punctuation">(</span>cfg<span class="token punctuation">.</span>from<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">var</span> count <span class="token operator">=</span> <span class="token function">valueOrDefault</span><span class="token punctuation">(</span>cfg<span class="token punctuation">.</span>count<span class="token punctuation">,</span> <span class="token number">8</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> decimals <span class="token operator">=</span> <span class="token function">valueOrDefault</span><span class="token punctuation">(</span>cfg<span class="token punctuation">.</span>decimals<span class="token punctuation">,</span> <span class="token number">8</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> continuity <span class="token operator">=</span> <span class="token function">valueOrDefault</span><span class="token punctuation">(</span>cfg<span class="token punctuation">.</span>continuity<span class="token punctuation">,</span> <span class="token number">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> dfactor <span class="token operator">=</span> Math<span class="token punctuation">.</span><span class="token function">pow</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">,</span> decimals<span class="token punctuation">)</span> <span class="token operator">||</span> <span class="token number">0</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> data <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> i<span class="token punctuation">,</span> value<span class="token punctuation">;</span>
<span class="token keyword">for</span> <span class="token punctuation">(</span>i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator"><</span> count<span class="token punctuation">;</span> <span class="token operator">++</span>i<span class="token punctuation">)</span> <span class="token punctuation">{</span>
value <span class="token operator">=</span> <span class="token punctuation">(</span>from<span class="token punctuation">[</span>i<span class="token punctuation">]</span> <span class="token operator">||</span> <span class="token number">0</span><span class="token punctuation">)</span> <span class="token operator">+</span> <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">rand</span><span class="token punctuation">(</span>min<span class="token punctuation">,</span> max<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">rand</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator"><=</span> continuity<span class="token punctuation">)</span> <span class="token punctuation">{</span>
data<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span>Math<span class="token punctuation">.</span><span class="token function">round</span><span class="token punctuation">(</span>dfactor <span class="token operator">*</span> value<span class="token punctuation">)</span> <span class="token operator">/</span> dfactor<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>
data<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</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>
<span class="token keyword">return</span> data<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">export</span> <span class="token keyword">function</span> <span class="token function">points</span><span class="token punctuation">(</span><span class="token parameter">config</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> xs <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">numbers</span><span class="token punctuation">(</span>config<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> ys <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">numbers</span><span class="token punctuation">(</span>config<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> xs<span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token parameter">x<span class="token punctuation">,</span> i</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">(</span><span class="token punctuation">{</span>x<span class="token punctuation">,</span> y<span class="token operator">:</span> ys<span class="token punctuation">[</span>i<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">export</span> <span class="token keyword">function</span> <span class="token function">bubbles</span><span class="token punctuation">(</span><span class="token parameter">config</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">points</span><span class="token punctuation">(</span>config<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span><span class="token parameter">pt</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
pt<span class="token punctuation">.</span>r <span class="token operator">=</span> <span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">rand</span><span class="token punctuation">(</span>config<span class="token punctuation">.</span>rmin<span class="token punctuation">,</span> config<span class="token punctuation">.</span>rmax<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> pt<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">export</span> <span class="token keyword">function</span> <span class="token function">labels</span><span class="token punctuation">(</span><span class="token parameter">config</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">var</span> cfg <span class="token operator">=</span> config <span class="token operator">||</span> <span class="token punctuation">{</span><span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> min <span class="token operator">=</span> cfg<span class="token punctuation">.</span>min <span class="token operator">||</span> <span class="token number">0</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> max <span class="token operator">=</span> cfg<span class="token punctuation">.</span>max <span class="token operator">||</span> <span class="token number">100</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> count <span class="token operator">=</span> cfg<span class="token punctuation">.</span>count <span class="token operator">||</span> <span class="token number">8</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> step <span class="token operator">=</span> <span class="token punctuation">(</span>max <span class="token operator">-</span> min<span class="token punctuation">)</span> <span class="token operator">/</span> count<span class="token punctuation">;</span>
<span class="token keyword">var</span> decimals <span class="token operator">=</span> cfg<span class="token punctuation">.</span>decimals <span class="token operator">||</span> <span class="token number">8</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> dfactor <span class="token operator">=</span> Math<span class="token punctuation">.</span><span class="token function">pow</span><span class="token punctuation">(</span><span class="token number">10</span><span class="token punctuation">,</span> decimals<span class="token punctuation">)</span> <span class="token operator">||</span> <span class="token number">0</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> prefix <span class="token operator">=</span> cfg<span class="token punctuation">.</span>prefix <span class="token operator">||</span> <span class="token string">''</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> values <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> i<span class="token punctuation">;</span>
<span class="token keyword">for</span> <span class="token punctuation">(</span>i <span class="token operator">=</span> min<span class="token punctuation">;</span> i <span class="token operator"><</span> max<span class="token punctuation">;</span> i <span class="token operator">+=</span> step<span class="token punctuation">)</span> <span class="token punctuation">{</span>
values<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span>prefix <span class="token operator">+</span> Math<span class="token punctuation">.</span><span class="token function">round</span><span class="token punctuation">(</span>dfactor <span class="token operator">*</span> i<span class="token punctuation">)</span> <span class="token operator">/</span> dfactor<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">return</span> values<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">const</span> <span class="token constant">MONTHS</span> <span class="token operator">=</span> <span class="token punctuation">[</span>
<span class="token string">'January'</span><span class="token punctuation">,</span>
<span class="token string">'February'</span><span class="token punctuation">,</span>
<span class="token string">'March'</span><span class="token punctuation">,</span>
<span class="token string">'April'</span><span class="token punctuation">,</span>
<span class="token string">'May'</span><span class="token punctuation">,</span>
<span class="token string">'June'</span><span class="token punctuation">,</span>
<span class="token string">'July'</span><span class="token punctuation">,</span>
<span class="token string">'August'</span><span class="token punctuation">,</span>
<span class="token string">'September'</span><span class="token punctuation">,</span>
<span class="token string">'October'</span><span class="token punctuation">,</span>
<span class="token string">'November'</span><span class="token punctuation">,</span>
<span class="token string">'December'</span>
<span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">export</span> <span class="token keyword">function</span> <span class="token function">months</span><span class="token punctuation">(</span><span class="token parameter">config</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">var</span> cfg <span class="token operator">=</span> config <span class="token operator">||</span> <span class="token punctuation">{</span><span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> count <span class="token operator">=</span> cfg<span class="token punctuation">.</span>count <span class="token operator">||</span> <span class="token number">12</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> section <span class="token operator">=</span> cfg<span class="token punctuation">.</span>section<span class="token punctuation">;</span>
<span class="token keyword">var</span> values <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">var</span> i<span class="token punctuation">,</span> value<span class="token punctuation">;</span>
<span class="token keyword">for</span> <span class="token punctuation">(</span>i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator"><</span> count<span class="token punctuation">;</span> <span class="token operator">++</span>i<span class="token punctuation">)</span> <span class="token punctuation">{</span>
value <span class="token operator">=</span> <span class="token constant">MONTHS</span><span class="token punctuation">[</span>Math<span class="token punctuation">.</span><span class="token function">ceil</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span> <span class="token operator">%</span> <span class="token number">12</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
values<span class="token punctuation">.</span><span class="token function">push</span><span class="token punctuation">(</span>value<span class="token punctuation">.</span><span class="token function">substring</span><span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">,</span> section<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">return</span> values<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">const</span> <span class="token constant">COLORS</span> <span class="token operator">=</span> <span class="token punctuation">[</span>
<span class="token string">'#4dc9f6'</span><span class="token punctuation">,</span>
<span class="token string">'#f67019'</span><span class="token punctuation">,</span>
<span class="token string">'#f53794'</span><span class="token punctuation">,</span>
<span class="token string">'#537bc4'</span><span class="token punctuation">,</span>
<span class="token string">'#acc236'</span><span class="token punctuation">,</span>
<span class="token string">'#166a8f'</span><span class="token punctuation">,</span>
<span class="token string">'#00a950'</span><span class="token punctuation">,</span>
<span class="token string">'#58595b'</span><span class="token punctuation">,</span>
<span class="token string">'#8549ba'</span>
<span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">export</span> <span class="token keyword">function</span> <span class="token function">color</span><span class="token punctuation">(</span><span class="token parameter">index</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token constant">COLORS</span><span class="token punctuation">[</span>index <span class="token operator">%</span> <span class="token constant">COLORS</span><span class="token punctuation">.</span>length<span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">export</span> <span class="token keyword">function</span> <span class="token function">transparentize</span><span class="token punctuation">(</span><span class="token parameter">value<span class="token punctuation">,</span> opacity</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">var</span> alpha <span class="token operator">=</span> opacity <span class="token operator">===</span> <span class="token keyword">undefined</span> <span class="token operator">?</span> <span class="token number">0.5</span> <span class="token operator">:</span> <span class="token number">1</span> <span class="token operator">-</span> opacity<span class="token punctuation">;</span>
<span class="token keyword">return</span> <span class="token function">colorLib</span><span class="token punctuation">(</span>value<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">alpha</span><span class="token punctuation">(</span>alpha<span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">rgbString</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">export</span> <span class="token keyword">const</span> <span class="token constant">CHART_COLORS</span> <span class="token operator">=</span> <span class="token punctuation">{</span>
red<span class="token operator">:</span> <span class="token string">'rgb(255, 99, 132)'</span><span class="token punctuation">,</span>
orange<span class="token operator">:</span> <span class="token string">'rgb(255, 159, 64)'</span><span class="token punctuation">,</span>
yellow<span class="token operator">:</span> <span class="token string">'rgb(255, 205, 86)'</span><span class="token punctuation">,</span>
green<span class="token operator">:</span> <span class="token string">'rgb(75, 192, 192)'</span><span class="token punctuation">,</span>
blue<span class="token operator">:</span> <span class="token string">'rgb(54, 162, 235)'</span><span class="token punctuation">,</span>
purple<span class="token operator">:</span> <span class="token string">'rgb(153, 102, 255)'</span><span class="token punctuation">,</span>
grey<span class="token operator">:</span> <span class="token string">'rgb(201, 203, 207)'</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">const</span> <span class="token constant">NAMED_COLORS</span> <span class="token operator">=</span> <span class="token punctuation">[</span>
<span class="token constant">CHART_COLORS</span><span class="token punctuation">.</span>red<span class="token punctuation">,</span>
<span class="token constant">CHART_COLORS</span><span class="token punctuation">.</span>orange<span class="token punctuation">,</span>
<span class="token constant">CHART_COLORS</span><span class="token punctuation">.</span>yellow<span class="token punctuation">,</span>
<span class="token constant">CHART_COLORS</span><span class="token punctuation">.</span>green<span class="token punctuation">,</span>
<span class="token constant">CHART_COLORS</span><span class="token punctuation">.</span>blue<span class="token punctuation">,</span>
<span class="token constant">CHART_COLORS</span><span class="token punctuation">.</span>purple<span class="token punctuation">,</span>
<span class="token constant">CHART_COLORS</span><span class="token punctuation">.</span>grey<span class="token punctuation">,</span>
<span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">export</span> <span class="token keyword">function</span> <span class="token function">namedColor</span><span class="token punctuation">(</span><span class="token parameter">index</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> <span class="token constant">NAMED_COLORS</span><span class="token punctuation">[</span>index <span class="token operator">%</span> <span class="token constant">NAMED_COLORS</span><span class="token punctuation">.</span>length<span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">export</span> <span class="token keyword">function</span> <span class="token function">newDate</span><span class="token punctuation">(</span><span class="token parameter">days</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> DateTime<span class="token punctuation">.</span><span class="token function">now</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">plus</span><span class="token punctuation">(</span><span class="token punctuation">{</span>days<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">toJSDate</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">export</span> <span class="token keyword">function</span> <span class="token function">newDateString</span><span class="token punctuation">(</span><span class="token parameter">days</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> DateTime<span class="token punctuation">.</span><span class="token function">now</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">plus</span><span class="token punctuation">(</span><span class="token punctuation">{</span>days<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">toISO</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">export</span> <span class="token keyword">function</span> <span class="token function">parseISODate</span><span class="token punctuation">(</span><span class="token parameter">str</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span> DateTime<span class="token punctuation">.</span><span class="token function">fromISO</span><span class="token punctuation">(</span>str<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
</code></pre></div><p><a href="https://github.com/chartjs/Chart.js/blob/master/docs/scripts/utils.js" target="_blank" rel="noopener noreferrer">File on 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></p> <h2 id="components"><a href="#components" class="header-anchor">#</a> Components</h2> <p>Some of the samples make reference to a <code>components</code> object. This is an artifact of using a module bundler to build the samples. The creation of that components object is shown below. If chart.js is included as a browser script, these items are accessible via the <code>Chart</code> object, i.e <code>Chart.Tooltip</code>.</p> <div class="language-js extra-class"><pre class="language-js"><code><span class="token comment">// Add Chart components needed in samples here.</span>
<span class="token comment">// Usable through `components[name]`.</span>
<span class="token keyword">export</span> <span class="token punctuation">{</span>Tooltip<span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'../../dist/chart.esm'</span><span class="token punctuation">;</span>
</code></pre></div><p><a href="https://github.com/chartjs/Chart.js/blob/master/docs/scripts/components.js" target="_blank" rel="noopener noreferrer">File on 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></p></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">12/5/2021, 1:41:45 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
←
<a href="/docs/3.6.2/samples/plugins/quadrants.html" class="prev">
Quadrants
</a></span> <!----></p></div> </main></div><div class="global-ui"></div></div>
<script src="/docs/3.6.2/assets/js/app.2ca8d9a1.js" defer></script><script src="/docs/3.6.2/assets/js/2.413130e4.js" defer></script><script src="/docs/3.6.2/assets/js/249.c3adb24d.js" defer></script>
</body>
</html>