Heat.js
🌞 A highly customizable JavaScript library for generating interactive heatmaps. It transforms data into smooth, visually intuitive heat layers, making patterns and intensity easy to spot at a glance.
Install / Use
/learn @williamtroup/Heat.jsREADME
<p align="center">🌞 A highly customizable JavaScript library for generating interactive heatmaps. It transforms data into smooth, visually intuitive heat layers, making patterns and intensity easy to spot at a glance.</p> <p align="center">v5.1.0</p><br />
<br>
<br>
- 😏 Zero-dependencies and extremely lightweight!
- 🦾 100% TypeScript, allowing greater support for React, Angular, and other libraries!
- 💻 Full API available via public functions.
- 🎏 60 languages available!
- 📱 Fully styled in CSS/SASS, fully responsive, and compatible with the Bootstrap library!
- 🌈 Full CSS theme support (using :root variables), with dark and light themes (31 available by default).
- 🔍 6 views supported: Map, Line, Chart, Days, Months, and Color Ranges!
- 🔍 Yearly statistics (shows total for day, week, month, and year).
- 📃 Auto spawning support (when HTML is added via 3rd party libraries).
- ☑️ Configuration dialog support per view.
- ⭐ Fully configurable per DOM element via binding options.
- 🎥 Toggling colors on/off support.
- 🔨 9 export formats supported.
- 🔨 7 import formats supported.
- 💁 Trend types allows data to be split up and viewed separately.
- ❓ Customizable tooltips.
- 💧 Data pulling (does not support trend types).
- 🌈 Color ranges support different colors per view.
- 💥 Custom year month range support (Jan-Dec, or Apr-Mar). <br />
All the documentation can be found here. <br> <br>
<h1>What browsers are supported?</h1>All modern browsers (such as Google Chrome, FireFox, and Opera) are fully supported. <br> <br>
<h1>What languages are supported?</h1>afAfrikaansamAmharicarArabichyArmenianbeBelarusianbnBengalibgBulgariancaCatalanzhChinese (simplified)daDanishnlDutchenEnglish (default)eoEsperantoetEstonianfaFarsifiFinnishfrFrenchfyFrisianglGaliciankaGeorgiandeGermanelGreekguGujaratihaHausaheHebrewhiHindihuHungarianisIcelandicidIndonesiangaIrishitItalianjaJapanesejvJavaneseknKannadakoKoreanlvLatvianltLithuanianlbLuxembourgishmsMalaymrMarathineNepalinoNorwegianplPolishptPortugueseroRomaniansiSinhaleseskSlovakslSlovenianesSpanishswSwahilisvSwedishtlTagalogtaTamilzh-twTaiwaneseteTeluguthThaitrTurkishukUkrainianurUrduviVietnamese <br>
csvComma-Separated ValuesjsonJavaScript Object NotationxmlExtensible Markup LanguagetxtTexthtmlHypertext Markup LanguagemdMarkdowntsvTab-Separated ValuesyamlYAML Ain't Markup LanguagetomlTom's Obvious Minimal Language <br>
csvComma-Separated ValuesjsonJavaScript Object NotationtxtTextmdMarkdowntsvTab-Separated ValuesyamlYAML Ain't Markup LanguagetomlTom's Obvious Minimal Language <br>
To see a list of all the most recent changes, click here. <br> <br>
<h1>How do I install Heat.js?</h1>You can install the library with npm into your local modules directory using the following command:
npm install jheat.js
Or, you can download the latest zipped up version here.
Or, you can also use the following CDN links:
https://cdn.jsdelivr.net/gh/williamtroup/Heat.js@5.1.0/dist/heat.min.js
https://cdn.jsdelivr.net/gh/williamtroup/Heat.js@5.1.0/dist/heat.js.min.css
<br>
<br>
<h1>How do I get started?</h1>
To get started using Heat.js, do the following steps: <br> <br>
1. Prerequisites:
Make sure you include the "DOCTYPE html" tag at the top of your HTML, as follows:
<!DOCTYPE html>
<br>
2. Include Files:
<link rel="stylesheet" href="dist/heat.js.css">
<script src="dist/heat.js"></script>
<br>
3. DOM Element Binding:
<div id="heat-map" data-heat-js="{ 'views': { 'map': { 'showDayNames': true } } }">
Your HTML.
</div>
To see a list of all the available binding options you can use for "data-heat-js", click here.
To see a list of all the available custom triggers you can use for "data-heat-js", click here.
<br>4. Adding Dates:
Now, you can add/remove dates, which will update the heat map automatically!
<script>
let newDateObject = new Date();
$heat.addDate( "heat-map", newDateObject, "Trend Type 1", true );
$heat.removeDate( "heat-map", newDateObject, "Trend Type 1", true );
</script>
<br>
<br>
5. Finishing Up:
That's it! Nice and simple. Please refer to the code if you need more help (fully documented). <br> <br>
<h1>How do I go about customizing Heat.js?</h1>To customize, and get more out of Heat.js, please read through the following documentation. <br> <br>
1. Public Functions:
To see a list of all the public functions available, click here. <br> <br>
2. Configuration:
Configuration options allow you to customize how Heat.js will function. You can set them as follows:
<script>
$heat.setConfiguration( {
safeMode: false
} );
</script>
To see a list of all the available configuration options you can use, click here.
