Gerar um mapa de Heat no MatPlotLib usando um conjunto de dados de dispersão

Eu tenho um conjunto de pontos de dados X,Y (cerca de 10k) que são fáceis de traçar como um gráfico de dispersão, mas q ... um monte de x,y, todos diferentes, para um mapa de calor (onde zonas com maior frequência de x,y seriam "mais quentes")?