Skip to content

🌞 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.

License

Notifications You must be signed in to change notification settings

williamtroup/Heat.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,835 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Heat.js

Tweet npm nuget license discussions Welcome coded by William Troup

🌞 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


Heat.js

What features does Heat.js have?

  • 😏 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).


Where can I find the documentation?

All the documentation can be found here.

What browsers are supported?

All modern browsers (such as Google Chrome, FireFox, and Opera) are fully supported.

What languages are supported?

  • af Afrikaans
  • am Amharic
  • ar Arabic
  • hy Armenian
  • be Belarusian
  • bn Bengali
  • bg Bulgarian
  • ca Catalan
  • zh Chinese (simplified)
  • da Danish
  • nl Dutch
  • en English (default)
  • eo Esperanto
  • et Estonian
  • fa Farsi
  • fi Finnish
  • fr French
  • fy Frisian
  • gl Galician
  • ka Georgian
  • de German
  • el Greek
  • gu Gujarati
  • ha Hausa
  • he Hebrew
  • hi Hindi
  • hu Hungarian
  • is Icelandic
  • id Indonesian
  • ga Irish
  • it Italian
  • ja Japanese
  • jv Javanese
  • kn Kannada
  • ko Korean
  • lv Latvian
  • lt Lithuanian
  • lb Luxembourgish
  • ms Malay
  • mr Marathi
  • ne Nepali
  • no Norwegian
  • pl Polish
  • pt Portuguese
  • ro Romanian
  • si Sinhalese
  • sk Slovak
  • sl Slovenian
  • es Spanish
  • sw Swahili
  • sv Swedish
  • tl Tagalog
  • ta Tamil
  • zh-tw Taiwanese
  • te Telugu
  • th Thai
  • tr Turkish
  • uk Ukrainian
  • ur Urdu
  • vi Vietnamese


What export formats are supported?

  • csv Comma-Separated Values
  • json JavaScript Object Notation
  • xml Extensible Markup Language
  • txt Text
  • html Hypertext Markup Language
  • md Markdown
  • tsv Tab-Separated Values
  • yaml YAML Ain't Markup Language
  • toml Tom's Obvious Minimal Language


What import formats are supported?

  • csv Comma-Separated Values
  • json JavaScript Object Notation
  • txt Text
  • md Markdown
  • tsv Tab-Separated Values
  • yaml YAML Ain't Markup Language
  • toml Tom's Obvious Minimal Language


What are the most recent changes?

To see a list of all the most recent changes, click here.

How do I install Heat.js?

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/[email protected]/dist/heat.min.js
https://cdn.jsdelivr.net/gh/williamtroup/[email protected]/dist/heat.js.min.css


How do I get started?

To get started using Heat.js, do the following steps:

1. Prerequisites:

Make sure you include the "DOCTYPE html" tag at the top of your HTML, as follows:

<!DOCTYPE html>

2. Include Files:

<link rel="stylesheet" href="dist/heat.js.css">
<script src="dist/heat.js"></script>

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.


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>


5. Finishing Up:

That's it! Nice and simple. Please refer to the code if you need more help (fully documented).

How do I go about customizing Heat.js?

To customize, and get more out of Heat.js, please read through the following documentation.

1. Public Functions:

To see a list of all the public functions available, click here.

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.