Лучшее решение, которое я нашел до сих пор, это heatmap.js . Это хорошее решение на стороне браузера, которое работает довольно хорошо и удивительно эффективно. Единственным недостатком (и он большой) является то, что он использует холст HTML, поэтому не работает на версиях IE до версии 9.