π 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.
v5.0.0
- π 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).
All the documentation can be found here.
All modern browsers (such as Google Chrome, FireFox, and Opera) are fully supported.
afAfrikaansamAmharicarArabichyArmenianbeBelarusianbnBengalibgBulgariancaCatalanzhChinese (simplified)daDanishnlDutchenEnglish (default)eoEsperantoetEstonianfaFarsifiFinnishfrFrenchfyFrisianglGaliciankaGeorgiandeGermanelGreekguGujaratihaHausaheHebrewhiHindihuHungarianisIcelandicidIndonesiangaIrishitItalianjaJapanesejvJavaneseknKannadakoKoreanlvLatvianltLithuanianlbLuxembourgishmsMalaymrMarathineNepalinoNorwegianplPolishptPortugueseroRomaniansiSinhaleseskSlovakslSlovenianesSpanishswSwahilisvSwedishtlTagalogtaTamilzh-twTaiwaneseteTeluguthThaitrTurkishukUkrainianurUrduviVietnamese
csvComma-Separated ValuesjsonJavaScript Object NotationxmlExtensible Markup LanguagetxtTexthtmlHypertext Markup LanguagemdMarkdowntsvTab-Separated ValuesyamlYAML Ain't Markup LanguagetomlTom's Obvious Minimal Language
csvComma-Separated ValuesjsonJavaScript Object NotationtxtTextmdMarkdowntsvTab-Separated ValuesyamlYAML Ain't Markup LanguagetomlTom's Obvious Minimal Language
To see a list of all the most recent changes, click here.
You can install the library with npm into your local modules directory using the following command:
npm install jheat.jsOr, you can download the latest zipped up version here.
Or, you can also use the following CDN links:
https://cdn.jsdelivr.net/gh/williamtroup/[email protected]/dist/heat.min.js
https://cdn.jsdelivr.net/gh/williamtroup/[email protected]/dist/heat.js.min.cssTo get started using Heat.js, do the following steps:
Make sure you include the "DOCTYPE html" tag at the top of your HTML, as follows:
<!DOCTYPE html><link rel="stylesheet" href="dist/heat.js.css">
<script src="dist/heat.js"></script><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.
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>That's it! Nice and simple. Please refer to the code if you need more help (fully documented).
To customize, and get more out of Heat.js, please read through the following documentation.
To see a list of all the public functions available, click here.
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.
