tooltip.html 47 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525
  1. <!DOCTYPE HTML>
  2. <html lang="" >
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  6. <title>Tooltip · Chart.js documentation</title>
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  8. <meta name="description" content="">
  9. <meta name="generator" content="GitBook 3.2.2">
  10. <meta name="author" content="chartjs">
  11. <link rel="stylesheet" href="../gitbook/style.css">
  12. <link rel="stylesheet" href="../gitbook/gitbook-plugin-search-plus/search.css">
  13. <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
  14. <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
  15. <link rel="stylesheet" href="../style.css">
  16. <meta name="HandheldFriendly" content="true"/>
  17. <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
  18. <meta name="apple-mobile-web-app-capable" content="yes">
  19. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  20. <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
  21. <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
  22. <link rel="next" href="elements.html" />
  23. <link rel="prev" href="title.html" />
  24. <link rel="stylesheet" href="../gitbook/gitbook-plugin-chartjs/style.css">
  25. <script src="../gitbook/gitbook-plugin-chartjs/Chart.bundle.js"></script>
  26. <script src="../gitbook/gitbook-plugin-chartjs/chartjs-plugin-deferred.js"></script>
  27. </head>
  28. <body>
  29. <div class="book">
  30. <div class="book-summary">
  31. <div id="book-search-input" role="search">
  32. <input type="text" placeholder="Type to search" />
  33. </div>
  34. <nav role="navigation">
  35. <ul class="summary">
  36. <li class="chapter " data-level="1.1" data-path="../">
  37. <a href="../">
  38. Chart.js
  39. </a>
  40. </li>
  41. <li class="chapter " data-level="1.2" data-path="../getting-started/">
  42. <a href="../getting-started/">
  43. Getting Started
  44. </a>
  45. <ul class="articles">
  46. <li class="chapter " data-level="1.2.1" data-path="../getting-started/installation.html">
  47. <a href="../getting-started/installation.html">
  48. Installation
  49. </a>
  50. </li>
  51. <li class="chapter " data-level="1.2.2" data-path="../getting-started/integration.html">
  52. <a href="../getting-started/integration.html">
  53. Integration
  54. </a>
  55. </li>
  56. <li class="chapter " data-level="1.2.3" data-path="../getting-started/usage.html">
  57. <a href="../getting-started/usage.html">
  58. Usage
  59. </a>
  60. </li>
  61. </ul>
  62. </li>
  63. <li class="chapter " data-level="1.3" data-path="../general/">
  64. <a href="../general/">
  65. General
  66. </a>
  67. <ul class="articles">
  68. <li class="chapter " data-level="1.3.1" data-path="../general/responsive.html">
  69. <a href="../general/responsive.html">
  70. Responsive
  71. </a>
  72. </li>
  73. <li class="chapter " data-level="1.3.2" data-path="../general/device-pixel-ratio.html">
  74. <a href="../general/device-pixel-ratio.html">
  75. Pixel Ratio
  76. </a>
  77. </li>
  78. <li class="chapter " data-level="1.3.3" data-path="../general/interactions/">
  79. <a href="../general/interactions/">
  80. Interactions
  81. </a>
  82. <ul class="articles">
  83. <li class="chapter " data-level="1.3.3.1" data-path="../general/interactions/events.html">
  84. <a href="../general/interactions/events.html">
  85. Events
  86. </a>
  87. </li>
  88. <li class="chapter " data-level="1.3.3.2" data-path="../general/interactions/modes.html">
  89. <a href="../general/interactions/modes.html">
  90. Modes
  91. </a>
  92. </li>
  93. </ul>
  94. </li>
  95. <li class="chapter " data-level="1.3.4" data-path="../general/options.html">
  96. <a href="../general/options.html">
  97. Options
  98. </a>
  99. </li>
  100. <li class="chapter " data-level="1.3.5" data-path="../general/colors.html">
  101. <a href="../general/colors.html">
  102. Colors
  103. </a>
  104. </li>
  105. <li class="chapter " data-level="1.3.6" data-path="../general/fonts.html">
  106. <a href="../general/fonts.html">
  107. Fonts
  108. </a>
  109. </li>
  110. </ul>
  111. </li>
  112. <li class="chapter " data-level="1.4" data-path="./">
  113. <a href="./">
  114. Configuration
  115. </a>
  116. <ul class="articles">
  117. <li class="chapter " data-level="1.4.1" data-path="animations.html">
  118. <a href="animations.html">
  119. Animations
  120. </a>
  121. </li>
  122. <li class="chapter " data-level="1.4.2" data-path="layout.html">
  123. <a href="layout.html">
  124. Layout
  125. </a>
  126. </li>
  127. <li class="chapter " data-level="1.4.3" data-path="legend.html">
  128. <a href="legend.html">
  129. Legend
  130. </a>
  131. </li>
  132. <li class="chapter " data-level="1.4.4" data-path="title.html">
  133. <a href="title.html">
  134. Title
  135. </a>
  136. </li>
  137. <li class="chapter active" data-level="1.4.5" data-path="tooltip.html">
  138. <a href="tooltip.html">
  139. Tooltip
  140. </a>
  141. </li>
  142. <li class="chapter " data-level="1.4.6" data-path="elements.html">
  143. <a href="elements.html">
  144. Elements
  145. </a>
  146. </li>
  147. </ul>
  148. </li>
  149. <li class="chapter " data-level="1.5" data-path="../charts/">
  150. <a href="../charts/">
  151. Charts
  152. </a>
  153. <ul class="articles">
  154. <li class="chapter " data-level="1.5.1" data-path="../charts/line.html">
  155. <a href="../charts/line.html">
  156. Line
  157. </a>
  158. </li>
  159. <li class="chapter " data-level="1.5.2" data-path="../charts/bar.html">
  160. <a href="../charts/bar.html">
  161. Bar
  162. </a>
  163. </li>
  164. <li class="chapter " data-level="1.5.3" data-path="../charts/radar.html">
  165. <a href="../charts/radar.html">
  166. Radar
  167. </a>
  168. </li>
  169. <li class="chapter " data-level="1.5.4" data-path="../charts/doughnut.html">
  170. <a href="../charts/doughnut.html">
  171. Doughnut & Pie
  172. </a>
  173. </li>
  174. <li class="chapter " data-level="1.5.5" data-path="../charts/polar.html">
  175. <a href="../charts/polar.html">
  176. Polar Area
  177. </a>
  178. </li>
  179. <li class="chapter " data-level="1.5.6" data-path="../charts/bubble.html">
  180. <a href="../charts/bubble.html">
  181. Bubble
  182. </a>
  183. </li>
  184. <li class="chapter " data-level="1.5.7" data-path="../charts/scatter.html">
  185. <a href="../charts/scatter.html">
  186. Scatter
  187. </a>
  188. </li>
  189. <li class="chapter " data-level="1.5.8" data-path="../charts/area.html">
  190. <a href="../charts/area.html">
  191. Area
  192. </a>
  193. </li>
  194. <li class="chapter " data-level="1.5.9" data-path="../charts/mixed.html">
  195. <a href="../charts/mixed.html">
  196. Mixed
  197. </a>
  198. </li>
  199. </ul>
  200. </li>
  201. <li class="chapter " data-level="1.6" data-path="../axes/">
  202. <a href="../axes/">
  203. Axes
  204. </a>
  205. <ul class="articles">
  206. <li class="chapter " data-level="1.6.1" data-path="../axes/cartesian/">
  207. <a href="../axes/cartesian/">
  208. Cartesian
  209. </a>
  210. <ul class="articles">
  211. <li class="chapter " data-level="1.6.1.1" data-path="../axes/cartesian/category.html">
  212. <a href="../axes/cartesian/category.html">
  213. Category
  214. </a>
  215. </li>
  216. <li class="chapter " data-level="1.6.1.2" data-path="../axes/cartesian/linear.html">
  217. <a href="../axes/cartesian/linear.html">
  218. Linear
  219. </a>
  220. </li>
  221. <li class="chapter " data-level="1.6.1.3" data-path="../axes/cartesian/logarithmic.html">
  222. <a href="../axes/cartesian/logarithmic.html">
  223. Logarithmic
  224. </a>
  225. </li>
  226. <li class="chapter " data-level="1.6.1.4" data-path="../axes/cartesian/time.html">
  227. <a href="../axes/cartesian/time.html">
  228. Time
  229. </a>
  230. </li>
  231. </ul>
  232. </li>
  233. <li class="chapter " data-level="1.6.2" data-path="../axes/radial/">
  234. <a href="../axes/radial/">
  235. Radial
  236. </a>
  237. <ul class="articles">
  238. <li class="chapter " data-level="1.6.2.1" data-path="../axes/radial/linear.html">
  239. <a href="../axes/radial/linear.html">
  240. Linear
  241. </a>
  242. </li>
  243. </ul>
  244. </li>
  245. <li class="chapter " data-level="1.6.3" data-path="../axes/labelling.html">
  246. <a href="../axes/labelling.html">
  247. Labelling
  248. </a>
  249. </li>
  250. <li class="chapter " data-level="1.6.4" data-path="../axes/styling.html">
  251. <a href="../axes/styling.html">
  252. Styling
  253. </a>
  254. </li>
  255. </ul>
  256. </li>
  257. <li class="chapter " data-level="1.7" data-path="../developers/">
  258. <a href="../developers/">
  259. Developers
  260. </a>
  261. <ul class="articles">
  262. <li class="chapter " data-level="1.7.1" data-path="../developers/api.html">
  263. <a href="../developers/api.html">
  264. Chart.js API
  265. </a>
  266. </li>
  267. <li class="chapter " data-level="1.7.2" data-path="../developers/updates.html">
  268. <a href="../developers/updates.html">
  269. Updating Charts
  270. </a>
  271. </li>
  272. <li class="chapter " data-level="1.7.3" data-path="../developers/plugins.html">
  273. <a href="../developers/plugins.html">
  274. Plugins
  275. </a>
  276. </li>
  277. <li class="chapter " data-level="1.7.4" data-path="../developers/charts.html">
  278. <a href="../developers/charts.html">
  279. New Charts
  280. </a>
  281. </li>
  282. <li class="chapter " data-level="1.7.5" data-path="../developers/axes.html">
  283. <a href="../developers/axes.html">
  284. New Axes
  285. </a>
  286. </li>
  287. <li class="chapter " data-level="1.7.6" data-path="../developers/contributing.html">
  288. <a href="../developers/contributing.html">
  289. Contributing
  290. </a>
  291. </li>
  292. </ul>
  293. </li>
  294. <li class="chapter " data-level="1.8" data-path="../notes/">
  295. <a href="../notes/">
  296. Additional Notes
  297. </a>
  298. <ul class="articles">
  299. <li class="chapter " data-level="1.8.1" data-path="../notes/comparison.html">
  300. <a href="../notes/comparison.html">
  301. Comparison Table
  302. </a>
  303. </li>
  304. <li class="chapter " data-level="1.8.2" data-path="../notes/extensions.html">
  305. <a href="../notes/extensions.html">
  306. Popular Extensions
  307. </a>
  308. </li>
  309. <li class="chapter " data-level="1.8.3" data-path="../notes/license.html">
  310. <a href="../notes/license.html">
  311. License
  312. </a>
  313. </li>
  314. </ul>
  315. </li>
  316. <li class="divider"></li>
  317. <li>
  318. <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
  319. Published with GitBook
  320. </a>
  321. </li>
  322. </ul>
  323. </nav>
  324. </div>
  325. <div class="book-body">
  326. <div class="body-inner">
  327. <div class="book-header" role="navigation">
  328. <!-- Title -->
  329. <h1>
  330. <i class="fa fa-circle-o-notch fa-spin"></i>
  331. <a href=".." >Tooltip</a>
  332. </h1>
  333. </div>
  334. <div class="page-wrapper" tabindex="-1" role="main">
  335. <div class="page-inner">
  336. <div class="search-plus" id="book-search-results">
  337. <div class="search-noresults">
  338. <section class="normal markdown-section">
  339. <h1 id="tooltips">Tooltips</h1>
  340. <h2 id="tooltip-configuration">Tooltip Configuration</h2>
  341. <p>The tooltip configuration is passed into the <code>options.tooltips</code> namespace. The global options for the chart tooltips is defined in <code>Chart.defaults.global.tooltips</code>.</p>
  342. <table>
  343. <thead>
  344. <tr>
  345. <th>Name</th>
  346. <th>Type</th>
  347. <th>Default</th>
  348. <th>Description</th>
  349. </tr>
  350. </thead>
  351. <tbody>
  352. <tr>
  353. <td><code>enabled</code></td>
  354. <td><code>Boolean</code></td>
  355. <td><code>true</code></td>
  356. <td>Are on-canvas tooltips enabled</td>
  357. </tr>
  358. <tr>
  359. <td><code>custom</code></td>
  360. <td><code>Function</code></td>
  361. <td><code>null</code></td>
  362. <td>See <a href="#external-custom-tooltips">custom tooltip</a> section.</td>
  363. </tr>
  364. <tr>
  365. <td><code>mode</code></td>
  366. <td><code>String</code></td>
  367. <td><code>&apos;nearest&apos;</code></td>
  368. <td>Sets which elements appear in the tooltip. <a href="../general/interactions/modes.html#interaction-modes">more...</a>.</td>
  369. </tr>
  370. <tr>
  371. <td><code>intersect</code></td>
  372. <td><code>Boolean</code></td>
  373. <td><code>true</code></td>
  374. <td>if true, the tooltip mode applies only when the mouse position intersects with an element. If false, the mode will be applied at all times.</td>
  375. </tr>
  376. <tr>
  377. <td><code>position</code></td>
  378. <td><code>String</code></td>
  379. <td><code>&apos;average&apos;</code></td>
  380. <td>The mode for positioning the tooltip. <a href="#position-modes">more...</a></td>
  381. </tr>
  382. <tr>
  383. <td><code>callbacks</code></td>
  384. <td><code>Object</code></td>
  385. <td></td>
  386. <td>See the <a href="#tooltip-callbacks">callbacks section</a></td>
  387. </tr>
  388. <tr>
  389. <td><code>itemSort</code></td>
  390. <td><code>Function</code></td>
  391. <td></td>
  392. <td>Sort tooltip items. <a href="#sort-callback">more...</a></td>
  393. </tr>
  394. <tr>
  395. <td><code>filter</code></td>
  396. <td><code>Function</code></td>
  397. <td></td>
  398. <td>Filter tooltip items. <a href="#filter-callback">more...</a></td>
  399. </tr>
  400. <tr>
  401. <td><code>backgroundColor</code></td>
  402. <td><code>Color</code></td>
  403. <td><code>&apos;rgba(0,0,0,0.8)&apos;</code></td>
  404. <td>Background color of the tooltip.</td>
  405. </tr>
  406. <tr>
  407. <td><code>titleFontFamily</code></td>
  408. <td><code>String</code></td>
  409. <td><code>&quot;&apos;Helvetica Neue&apos;, &apos;Helvetica&apos;, &apos;Arial&apos;, sans-serif&quot;</code></td>
  410. <td>title font</td>
  411. </tr>
  412. <tr>
  413. <td><code>titleFontSize</code></td>
  414. <td><code>Number</code></td>
  415. <td><code>12</code></td>
  416. <td>Title font size</td>
  417. </tr>
  418. <tr>
  419. <td><code>titleFontStyle</code></td>
  420. <td><code>String</code></td>
  421. <td><code>&apos;bold&apos;</code></td>
  422. <td>Title font style</td>
  423. </tr>
  424. <tr>
  425. <td><code>titleFontColor</code></td>
  426. <td><code>Color</code></td>
  427. <td><code>&apos;#fff&apos;</code></td>
  428. <td>Title font color</td>
  429. </tr>
  430. <tr>
  431. <td><code>titleSpacing</code></td>
  432. <td><code>Number</code></td>
  433. <td><code>2</code></td>
  434. <td>Spacing to add to top and bottom of each title line.</td>
  435. </tr>
  436. <tr>
  437. <td><code>titleMarginBottom</code></td>
  438. <td><code>Number</code></td>
  439. <td><code>6</code></td>
  440. <td>Margin to add on bottom of title section.</td>
  441. </tr>
  442. <tr>
  443. <td><code>bodyFontFamily</code></td>
  444. <td><code>String</code></td>
  445. <td><code>&quot;&apos;Helvetica Neue&apos;, &apos;Helvetica&apos;, &apos;Arial&apos;, sans-serif&quot;</code></td>
  446. <td>body line font</td>
  447. </tr>
  448. <tr>
  449. <td><code>bodyFontSize</code></td>
  450. <td><code>Number</code></td>
  451. <td><code>12</code></td>
  452. <td>Body font size</td>
  453. </tr>
  454. <tr>
  455. <td><code>bodyFontStyle</code></td>
  456. <td><code>String</code></td>
  457. <td><code>&apos;normal&apos;</code></td>
  458. <td>Body font style</td>
  459. </tr>
  460. <tr>
  461. <td><code>bodyFontColor</code></td>
  462. <td><code>Color</code></td>
  463. <td><code>&apos;#fff&apos;</code></td>
  464. <td>Body font color</td>
  465. </tr>
  466. <tr>
  467. <td><code>bodySpacing</code></td>
  468. <td><code>Number</code></td>
  469. <td><code>2</code></td>
  470. <td>Spacing to add to top and bottom of each tooltip item.</td>
  471. </tr>
  472. <tr>
  473. <td><code>footerFontFamily</code></td>
  474. <td><code>String</code></td>
  475. <td><code>&quot;&apos;Helvetica Neue&apos;, &apos;Helvetica&apos;, &apos;Arial&apos;, sans-serif&quot;</code></td>
  476. <td>footer font</td>
  477. </tr>
  478. <tr>
  479. <td><code>footerFontSize</code></td>
  480. <td><code>Number</code></td>
  481. <td><code>12</code></td>
  482. <td>Footer font size</td>
  483. </tr>
  484. <tr>
  485. <td><code>footerFontStyle</code></td>
  486. <td><code>String</code></td>
  487. <td><code>&apos;bold&apos;</code></td>
  488. <td>Footer font style</td>
  489. </tr>
  490. <tr>
  491. <td><code>footerFontColor</code></td>
  492. <td><code>Color</code></td>
  493. <td><code>&apos;#fff&apos;</code></td>
  494. <td>Footer font color</td>
  495. </tr>
  496. <tr>
  497. <td><code>footerSpacing</code></td>
  498. <td><code>Number</code></td>
  499. <td><code>2</code></td>
  500. <td>Spacing to add to top and bottom of each footer line.</td>
  501. </tr>
  502. <tr>
  503. <td><code>footerMarginTop</code></td>
  504. <td><code>Number</code></td>
  505. <td><code>6</code></td>
  506. <td>Margin to add before drawing the footer.</td>
  507. </tr>
  508. <tr>
  509. <td><code>xPadding</code></td>
  510. <td><code>Number</code></td>
  511. <td><code>6</code></td>
  512. <td>Padding to add on left and right of tooltip.</td>
  513. </tr>
  514. <tr>
  515. <td><code>yPadding</code></td>
  516. <td><code>Number</code></td>
  517. <td><code>6</code></td>
  518. <td>Padding to add on top and bottom of tooltip.</td>
  519. </tr>
  520. <tr>
  521. <td><code>caretPadding</code></td>
  522. <td><code>Number</code></td>
  523. <td><code>2</code></td>
  524. <td>Extra distance to move the end of the tooltip arrow away from the tooltip point.</td>
  525. </tr>
  526. <tr>
  527. <td><code>caretSize</code></td>
  528. <td><code>Number</code></td>
  529. <td><code>5</code></td>
  530. <td>Size, in px, of the tooltip arrow.</td>
  531. </tr>
  532. <tr>
  533. <td><code>cornerRadius</code></td>
  534. <td><code>Number</code></td>
  535. <td><code>6</code></td>
  536. <td>Radius of tooltip corner curves.</td>
  537. </tr>
  538. <tr>
  539. <td><code>multiKeyBackground</code></td>
  540. <td><code>Color</code></td>
  541. <td><code>&apos;#fff&apos;</code></td>
  542. <td>Color to draw behind the colored boxes when multiple items are in the tooltip</td>
  543. </tr>
  544. <tr>
  545. <td><code>displayColors</code></td>
  546. <td><code>Boolean</code></td>
  547. <td><code>true</code></td>
  548. <td>if true, color boxes are shown in the tooltip</td>
  549. </tr>
  550. <tr>
  551. <td><code>borderColor</code></td>
  552. <td><code>Color</code></td>
  553. <td><code>&apos;rgba(0,0,0,0)&apos;</code></td>
  554. <td>Color of the border</td>
  555. </tr>
  556. <tr>
  557. <td><code>borderWidth</code></td>
  558. <td><code>Number</code></td>
  559. <td><code>0</code></td>
  560. <td>Size of the border</td>
  561. </tr>
  562. </tbody>
  563. </table>
  564. <h3 id="position-modes">Position Modes</h3>
  565. <p> Possible modes are:</p>
  566. <ul>
  567. <li>&apos;average&apos;</li>
  568. <li>&apos;nearest&apos;</li>
  569. </ul>
  570. <p>&apos;average&apos; mode will place the tooltip at the average position of the items displayed in the tooltip. &apos;nearest&apos; will place the tooltip at the position of the element closest to the event position.</p>
  571. <p>New modes can be defined by adding functions to the Chart.Tooltip.positioners map.</p>
  572. <p>Example:</p>
  573. <pre><code class="lang-javascript"><span class="hljs-comment">/**
  574. * Custom positioner
  575. * @function Chart.Tooltip.positioners.custom
  576. * @param elements {Chart.Element[]} the tooltip elements
  577. * @param eventPosition {Point} the position of the event in canvas coordinates
  578. * @returns {Point} the tooltip position
  579. */</span>
  580. Chart.Tooltip.positioners.custom = <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">elements, eventPosition</span>) </span>{
  581. <span class="hljs-comment">/** @type {Chart.Tooltip} */</span>
  582. <span class="hljs-keyword">var</span> tooltip = <span class="hljs-keyword">this</span>;
  583. <span class="hljs-comment">/* ... */</span>
  584. <span class="hljs-keyword">return</span> {
  585. x: <span class="hljs-number">0</span>,
  586. y: <span class="hljs-number">0</span>
  587. };
  588. }
  589. </code></pre>
  590. <h3 id="sort-callback">Sort Callback</h3>
  591. <p>Allows sorting of <a href="#tooltip-item-interface">tooltip items</a>. Must implement at minimum a function that can be passed to <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort" target="_blank">Array.prototype.sort</a>. This function can also accept a third parameter that is the data object passed to the chart.</p>
  592. <h3 id="filter-callback">Filter Callback</h3>
  593. <p>Allows filtering of <a href="#tooltip-item-interface">tooltip items</a>. Must implement at minimum a function that can be passed to <a href="https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/filter" target="_blank">Array.prototype.filter</a>. This function can also accept a second parameter that is the data object passed to the chart.</p>
  594. <h2 id="tooltip-callbacks">Tooltip Callbacks</h2>
  595. <p>The tooltip label configuration is nested below the tooltip configuration using the <code>callbacks</code> key. The tooltip has the following callbacks for providing text. For all functions, &apos;this&apos; will be the tooltip object created from the Chart.Tooltip constructor.</p>
  596. <p>All functions are called with the same arguments: a <a href="#tooltip-item-interface">tooltip item</a> and the data object passed to the chart. All functions must return either a string or an array of strings. Arrays of strings are treated as multiple lines of text.</p>
  597. <table>
  598. <thead>
  599. <tr>
  600. <th>Name</th>
  601. <th>Arguments</th>
  602. <th>Description</th>
  603. </tr>
  604. </thead>
  605. <tbody>
  606. <tr>
  607. <td><code>beforeTitle</code></td>
  608. <td><code>Array[tooltipItem], data</code></td>
  609. <td>Returns the text to render before the title.</td>
  610. </tr>
  611. <tr>
  612. <td><code>title</code></td>
  613. <td><code>Array[tooltipItem], data</code></td>
  614. <td>Returns text to render as the title of the tooltip.</td>
  615. </tr>
  616. <tr>
  617. <td><code>afterTitle</code></td>
  618. <td><code>Array[tooltipItem], data</code></td>
  619. <td>Returns text to render after the title.</td>
  620. </tr>
  621. <tr>
  622. <td><code>beforeBody</code></td>
  623. <td><code>Array[tooltipItem], data</code></td>
  624. <td>Returns text to render before the body section.</td>
  625. </tr>
  626. <tr>
  627. <td><code>beforeLabel</code></td>
  628. <td><code>tooltipItem, data</code></td>
  629. <td>Returns text to render before an individual label. This will be called for each item in the tooltip.</td>
  630. </tr>
  631. <tr>
  632. <td><code>label</code></td>
  633. <td><code>tooltipItem, data</code></td>
  634. <td>Returns text to render for an individual item in the tooltip.</td>
  635. </tr>
  636. <tr>
  637. <td><code>labelColor</code></td>
  638. <td><code>tooltipItem, chart</code></td>
  639. <td>Returns the colors to render for the tooltip item. <a href="#label-color-callback">more...</a></td>
  640. </tr>
  641. <tr>
  642. <td><code>labelTextColor</code></td>
  643. <td><code>tooltipItem, chart</code></td>
  644. <td>Returns the colors for the text of the label for the tooltip item.</td>
  645. </tr>
  646. <tr>
  647. <td><code>afterLabel</code></td>
  648. <td><code>tooltipItem, data</code></td>
  649. <td>Returns text to render after an individual label.</td>
  650. </tr>
  651. <tr>
  652. <td><code>afterBody</code></td>
  653. <td><code>Array[tooltipItem], data</code></td>
  654. <td>Returns text to render after the body section</td>
  655. </tr>
  656. <tr>
  657. <td><code>beforeFooter</code></td>
  658. <td><code>Array[tooltipItem], data</code></td>
  659. <td>Returns text to render before the footer section.</td>
  660. </tr>
  661. <tr>
  662. <td><code>footer</code></td>
  663. <td><code>Array[tooltipItem], data</code></td>
  664. <td>Returns text to render as the footer of the tooltip.</td>
  665. </tr>
  666. <tr>
  667. <td><code>afterFooter</code></td>
  668. <td><code>Array[tooltipItem], data</code></td>
  669. <td>Text to render after the footer section</td>
  670. </tr>
  671. </tbody>
  672. </table>
  673. <h3 id="label-callback">Label Callback</h3>
  674. <p>The label callback can change the text that displays for a given data point. A common example to round data values; the following example rounds the data to two decimal places.</p>
  675. <pre><code class="lang-javascript"><span class="hljs-keyword">var</span> chart = <span class="hljs-keyword">new</span> Chart(ctx, {
  676. type: <span class="hljs-string">&apos;line&apos;</span>,
  677. data: data,
  678. options: {
  679. tooltips: {
  680. callbacks: {
  681. label: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">tooltipItem, data</span>) </span>{
  682. <span class="hljs-keyword">var</span> label = data.datasets[tooltipItem.datasetIndex].label || <span class="hljs-string">&apos;&apos;</span>;
  683. <span class="hljs-keyword">if</span> (label) {
  684. label += <span class="hljs-string">&apos;: &apos;</span>;
  685. }
  686. label += <span class="hljs-built_in">Math</span>.round(tooltipItem.yLabel * <span class="hljs-number">100</span>) / <span class="hljs-number">100</span>;
  687. <span class="hljs-keyword">return</span> label;
  688. }
  689. }
  690. }
  691. }
  692. });
  693. </code></pre>
  694. <h3 id="label-color-callback">Label Color Callback</h3>
  695. <p>For example, to return a red box for each item in the tooltip you could do:</p>
  696. <pre><code class="lang-javascript"><span class="hljs-keyword">var</span> chart = <span class="hljs-keyword">new</span> Chart(ctx, {
  697. type: <span class="hljs-string">&apos;line&apos;</span>,
  698. data: data,
  699. options: {
  700. tooltips: {
  701. callbacks: {
  702. labelColor: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">tooltipItem, chart</span>) </span>{
  703. <span class="hljs-keyword">return</span> {
  704. borderColor: <span class="hljs-string">&apos;rgb(255, 0, 0)&apos;</span>,
  705. backgroundColor: <span class="hljs-string">&apos;rgb(255, 0, 0)&apos;</span>
  706. }
  707. },
  708. labelTextColor:<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">tooltipItem, chart</span>)</span>{
  709. <span class="hljs-keyword">return</span> <span class="hljs-string">&apos;#543453&apos;</span>;
  710. }
  711. }
  712. }
  713. }
  714. });
  715. </code></pre>
  716. <h3 id="tooltip-item-interface">Tooltip Item Interface</h3>
  717. <p>The tooltip items passed to the tooltip callbacks implement the following interface.</p>
  718. <pre><code class="lang-javascript">{
  719. <span class="hljs-comment">// X Value of the tooltip as a string</span>
  720. xLabel: <span class="hljs-built_in">String</span>,
  721. <span class="hljs-comment">// Y value of the tooltip as a string</span>
  722. yLabel: <span class="hljs-built_in">String</span>,
  723. <span class="hljs-comment">// Index of the dataset the item comes from</span>
  724. datasetIndex: <span class="hljs-built_in">Number</span>,
  725. <span class="hljs-comment">// Index of this data item in the dataset</span>
  726. index: <span class="hljs-built_in">Number</span>,
  727. <span class="hljs-comment">// X position of matching point</span>
  728. x: <span class="hljs-built_in">Number</span>,
  729. <span class="hljs-comment">// Y position of matching point</span>
  730. y: <span class="hljs-built_in">Number</span>,
  731. }
  732. </code></pre>
  733. <h2 id="external-custom-tooltips">External (Custom) Tooltips</h2>
  734. <p>Custom tooltips allow you to hook into the tooltip rendering process so that you can render the tooltip in your own custom way. Generally this is used to create an HTML tooltip instead of an oncanvas one. You can enable custom tooltips in the global or chart configuration like so:</p>
  735. <pre><code class="lang-javascript"><span class="hljs-keyword">var</span> myPieChart = <span class="hljs-keyword">new</span> Chart(ctx, {
  736. type: <span class="hljs-string">&apos;pie&apos;</span>,
  737. data: data,
  738. options: {
  739. tooltips: {
  740. <span class="hljs-comment">// Disable the on-canvas tooltip</span>
  741. enabled: <span class="hljs-literal">false</span>,
  742. custom: <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">tooltipModel</span>) </span>{
  743. <span class="hljs-comment">// Tooltip Element</span>
  744. <span class="hljs-keyword">var</span> tooltipEl = <span class="hljs-built_in">document</span>.getElementById(<span class="hljs-string">&apos;chartjs-tooltip&apos;</span>);
  745. <span class="hljs-comment">// Create element on first render</span>
  746. <span class="hljs-keyword">if</span> (!tooltipEl) {
  747. tooltipEl = <span class="hljs-built_in">document</span>.createElement(<span class="hljs-string">&apos;div&apos;</span>);
  748. tooltipEl.id = <span class="hljs-string">&apos;chartjs-tooltip&apos;</span>;
  749. tooltipEl.innerHTML = <span class="hljs-string">&quot;&lt;table&gt;&lt;/table&gt;&quot;</span>;
  750. <span class="hljs-built_in">document</span>.body.appendChild(tooltipEl);
  751. }
  752. <span class="hljs-comment">// Hide if no tooltip</span>
  753. <span class="hljs-keyword">if</span> (tooltipModel.opacity === <span class="hljs-number">0</span>) {
  754. tooltipEl.style.opacity = <span class="hljs-number">0</span>;
  755. <span class="hljs-keyword">return</span>;
  756. }
  757. <span class="hljs-comment">// Set caret Position</span>
  758. tooltipEl.classList.remove(<span class="hljs-string">&apos;above&apos;</span>, <span class="hljs-string">&apos;below&apos;</span>, <span class="hljs-string">&apos;no-transform&apos;</span>);
  759. <span class="hljs-keyword">if</span> (tooltipModel.yAlign) {
  760. tooltipEl.classList.add(tooltipModel.yAlign);
  761. } <span class="hljs-keyword">else</span> {
  762. tooltipEl.classList.add(<span class="hljs-string">&apos;no-transform&apos;</span>);
  763. }
  764. <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">getBody</span>(<span class="hljs-params">bodyItem</span>) </span>{
  765. <span class="hljs-keyword">return</span> bodyItem.lines;
  766. }
  767. <span class="hljs-comment">// Set Text</span>
  768. <span class="hljs-keyword">if</span> (tooltipModel.body) {
  769. <span class="hljs-keyword">var</span> titleLines = tooltipModel.title || [];
  770. <span class="hljs-keyword">var</span> bodyLines = tooltipModel.body.map(getBody);
  771. <span class="hljs-keyword">var</span> innerHtml = <span class="hljs-string">&apos;&lt;thead&gt;&apos;</span>;
  772. titleLines.forEach(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">title</span>) </span>{
  773. innerHtml += <span class="hljs-string">&apos;&lt;tr&gt;&lt;th&gt;&apos;</span> + title + <span class="hljs-string">&apos;&lt;/th&gt;&lt;/tr&gt;&apos;</span>;
  774. });
  775. innerHtml += <span class="hljs-string">&apos;&lt;/thead&gt;&lt;tbody&gt;&apos;</span>;
  776. bodyLines.forEach(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body, i</span>) </span>{
  777. <span class="hljs-keyword">var</span> colors = tooltipModel.labelColors[i];
  778. <span class="hljs-keyword">var</span> style = <span class="hljs-string">&apos;background:&apos;</span> + colors.backgroundColor;
  779. style += <span class="hljs-string">&apos;; border-color:&apos;</span> + colors.borderColor;
  780. style += <span class="hljs-string">&apos;; border-width: 2px&apos;</span>;
  781. <span class="hljs-keyword">var</span> span = <span class="hljs-string">&apos;&lt;span style=&quot;&apos;</span> + style + <span class="hljs-string">&apos;&quot;&gt;&lt;/span&gt;&apos;</span>;
  782. innerHtml += <span class="hljs-string">&apos;&lt;tr&gt;&lt;td&gt;&apos;</span> + span + body + <span class="hljs-string">&apos;&lt;/td&gt;&lt;/tr&gt;&apos;</span>;
  783. });
  784. innerHtml += <span class="hljs-string">&apos;&lt;/tbody&gt;&apos;</span>;
  785. <span class="hljs-keyword">var</span> tableRoot = tooltipEl.querySelector(<span class="hljs-string">&apos;table&apos;</span>);
  786. tableRoot.innerHTML = innerHtml;
  787. }
  788. <span class="hljs-comment">// `this` will be the overall tooltip</span>
  789. <span class="hljs-keyword">var</span> position = <span class="hljs-keyword">this</span>._chart.canvas.getBoundingClientRect();
  790. <span class="hljs-comment">// Display, position, and set styles for font</span>
  791. tooltipEl.style.opacity = <span class="hljs-number">1</span>;
  792. tooltipEl.style.position = <span class="hljs-string">&apos;absolute&apos;</span>;
  793. tooltipEl.style.left = position.left + tooltipModel.caretX + <span class="hljs-string">&apos;px&apos;</span>;
  794. tooltipEl.style.top = position.top + tooltipModel.caretY + <span class="hljs-string">&apos;px&apos;</span>;
  795. tooltipEl.style.fontFamily = tooltipModel._bodyFontFamily;
  796. tooltipEl.style.fontSize = tooltipModel.bodyFontSize + <span class="hljs-string">&apos;px&apos;</span>;
  797. tooltipEl.style.fontStyle = tooltipModel._bodyFontStyle;
  798. tooltipEl.style.padding = tooltipModel.yPadding + <span class="hljs-string">&apos;px &apos;</span> + tooltipModel.xPadding + <span class="hljs-string">&apos;px&apos;</span>;
  799. }
  800. }
  801. }
  802. });
  803. </code></pre>
  804. <p>See <a href="http://www.chartjs.org/samples/" target="_blank">samples</a> for examples on how to get started with custom tooltips.</p>
  805. <h2 id="tooltip-model">Tooltip Model</h2>
  806. <p>The tooltip model contains parameters that can be used to render the tooltip.</p>
  807. <pre><code class="lang-javascript">{
  808. <span class="hljs-comment">// The items that we are rendering in the tooltip. See Tooltip Item Interface section</span>
  809. dataPoints: TooltipItem[],
  810. <span class="hljs-comment">// Positioning</span>
  811. xPadding: <span class="hljs-built_in">Number</span>,
  812. yPadding: <span class="hljs-built_in">Number</span>,
  813. xAlign: <span class="hljs-built_in">String</span>,
  814. yAlign: <span class="hljs-built_in">String</span>,
  815. <span class="hljs-comment">// X and Y properties are the top left of the tooltip</span>
  816. x: <span class="hljs-built_in">Number</span>,
  817. y: <span class="hljs-built_in">Number</span>,
  818. width: <span class="hljs-built_in">Number</span>,
  819. height: <span class="hljs-built_in">Number</span>,
  820. <span class="hljs-comment">// Where the tooltip points to</span>
  821. caretX: <span class="hljs-built_in">Number</span>,
  822. caretY: <span class="hljs-built_in">Number</span>,
  823. <span class="hljs-comment">// Body</span>
  824. <span class="hljs-comment">// The body lines that need to be rendered</span>
  825. <span class="hljs-comment">// Each object contains 3 parameters</span>
  826. <span class="hljs-comment">// before: String[] // lines of text before the line with the color square</span>
  827. <span class="hljs-comment">// lines: String[], // lines of text to render as the main item with color square</span>
  828. <span class="hljs-comment">// after: String[], // lines of text to render after the main lines</span>
  829. body: <span class="hljs-built_in">Object</span>[],
  830. <span class="hljs-comment">// lines of text that appear after the title but before the body</span>
  831. beforeBody: <span class="hljs-built_in">String</span>[],
  832. <span class="hljs-comment">// line of text that appear after the body and before the footer</span>
  833. afterBody: <span class="hljs-built_in">String</span>[],
  834. bodyFontColor: Color,
  835. _bodyFontFamily: <span class="hljs-built_in">String</span>,
  836. _bodyFontStyle: <span class="hljs-built_in">String</span>,
  837. _bodyAlign: <span class="hljs-built_in">String</span>,
  838. bodyFontSize: <span class="hljs-built_in">Number</span>,
  839. bodySpacing: <span class="hljs-built_in">Number</span>,
  840. <span class="hljs-comment">// Title</span>
  841. <span class="hljs-comment">// lines of text that form the title</span>
  842. title: <span class="hljs-built_in">String</span>[],
  843. titleFontColor: Color,
  844. _titleFontFamily: <span class="hljs-built_in">String</span>,
  845. _titleFontStyle: <span class="hljs-built_in">String</span>,
  846. titleFontSize: <span class="hljs-built_in">Number</span>,
  847. _titleAlign: <span class="hljs-built_in">String</span>,
  848. titleSpacing: <span class="hljs-built_in">Number</span>,
  849. titleMarginBottom: <span class="hljs-built_in">Number</span>,
  850. <span class="hljs-comment">// Footer</span>
  851. <span class="hljs-comment">// lines of text that form the footer</span>
  852. footer: <span class="hljs-built_in">String</span>[],
  853. footerFontColor: Color,
  854. _footerFontFamily: <span class="hljs-built_in">String</span>,
  855. _footerFontStyle: <span class="hljs-built_in">String</span>,
  856. footerFontSize: <span class="hljs-built_in">Number</span>,
  857. _footerAlign: <span class="hljs-built_in">String</span>,
  858. footerSpacing: <span class="hljs-built_in">Number</span>,
  859. footerMarginTop: <span class="hljs-built_in">Number</span>,
  860. <span class="hljs-comment">// Appearance</span>
  861. caretSize: <span class="hljs-built_in">Number</span>,
  862. cornerRadius: <span class="hljs-built_in">Number</span>,
  863. backgroundColor: Color,
  864. <span class="hljs-comment">// colors to render for each item in body[]. This is the color of the squares in the tooltip</span>
  865. labelColors: Color[],
  866. <span class="hljs-comment">// 0 opacity is a hidden tooltip</span>
  867. opacity: <span class="hljs-built_in">Number</span>,
  868. legendColorBackground: Color,
  869. displayColors: <span class="hljs-built_in">Boolean</span>,
  870. }
  871. </code></pre>
  872. </section>
  873. </div>
  874. <div class="search-results">
  875. <div class="has-results">
  876. <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
  877. <ul class="search-results-list"></ul>
  878. </div>
  879. <div class="no-results">
  880. <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
  881. </div>
  882. </div>
  883. </div>
  884. </div>
  885. </div>
  886. </div>
  887. <a href="title.html" class="navigation navigation-prev " aria-label="Previous page: Title">
  888. <i class="fa fa-angle-left"></i>
  889. </a>
  890. <a href="elements.html" class="navigation navigation-next " aria-label="Next page: Elements">
  891. <i class="fa fa-angle-right"></i>
  892. </a>
  893. </div>
  894. <script>
  895. var gitbook = gitbook || [];
  896. gitbook.push(function() {
  897. gitbook.page.hasChanged({"page":{"title":"Tooltip","level":"1.4.5","depth":2,"next":{"title":"Elements","level":"1.4.6","depth":2,"path":"configuration/elements.md","ref":"configuration/elements.md","articles":[]},"previous":{"title":"Title","level":"1.4.4","depth":2,"path":"configuration/title.md","ref":"configuration/title.md","articles":[]},"dir":"ltr"},"config":{"plugins":["-lunr","-search","search-plus","anchorjs","chartjs","ga"],"root":"./docs","styles":{"website":"style.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"anchorjs":{"icon":"#","placement":"left","visible":"always"},"ga":{"configuration":"auto","token":"UA-28909194-3"},"theme-default":{"styles":{"website":"style.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"search-plus":{},"chartjs":{"defaults":null},"highlight":{},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2}},"theme":"default","author":"chartjs","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"Chart.js documentation","gitbook":"3.2.2"},"file":{"path":"configuration/tooltip.md","mtime":"2018-03-01T21:46:31.679Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2018-03-01T21:50:47.970Z"},"basePath":"..","book":{"language":""}});
  898. });
  899. </script>
  900. </div>
  901. <script src="../gitbook/gitbook.js"></script>
  902. <script src="../gitbook/theme.js"></script>
  903. <script src="../gitbook/gitbook-plugin-search-plus/jquery.mark.min.js"></script>
  904. <script src="../gitbook/gitbook-plugin-search-plus/search.js"></script>
  905. <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/4.1.0/anchor.min.js"></script>
  906. <script src="../gitbook/gitbook-plugin-anchorjs/anchor-style.js"></script>
  907. <script src="../gitbook/gitbook-plugin-ga/plugin.js"></script>
  908. <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
  909. <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
  910. </body>
  911. </html>