Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
71 lines (46 sloc) 1.41 KB


Heatmaps for node.js and the browser, groovy!

groovy heatmap, man



var heatmap = require('heatmap');

var heat = heatmap(500, 500, { radius : 30 });
for (var i = 0; i < 5000; i++) {
    var rho = Math.random() * 2 * Math.PI;
    var z = Math.pow(Math.random(), 2) * 200;

    var x = 250 + Math.cos(rho) * z;
    var y = 250 + Math.sin(rho) * z;

    heat.addPoint(x, y);

var fs = require('fs');
fs.writeFileSync('blob.png', heat.canvas.toBuffer());


var heatmap = require('heatmap');

var heat = heatmap(...)

Create a new heatmap from an existing canvas element, a numeric width and height, or an option object with canvas or width and height fields.

Optionally, you can set the opts.radius and opts.threshold to control the rendering a little.

heat.addPoint(x, y, radius=heat.radius || 20)

Add a point to the heatmap with a radius.


Render all the points onto the canvas element.


The HTML Canvas element.

Protip: with the [canvas module](] for node you can heat.canvas.buffer() to get a Buffer with a PNG file all up in it.


With npm, just do:

npm install heatmap
Something went wrong with that request. Please try again.