Создать тепловую карту в MatPlotLib, используя набор данных разброса - PullRequest
166 голосов
/ 03 марта 2010

У меня есть набор точек данных X, Y (около 10 КБ), которые легко построить в виде точечной диаграммы, но которые я хотел бы представить в виде тепловой карты.

Я просмотрел примеры в MatPlotLib, и все они, похоже, уже начинаются со значений ячеек тепловой карты для генерации изображения.

Есть ли метод, который преобразует группу x, y, все разные, в тепловую карту (где зоны с более высокой частотой x, y будут "теплее")?

Ответы [ 11 ]

0 голосов
/ 28 января 2019

Очень похоже на @ ответ Пити , но использует 1 вызов вместо 2 для генерации очков:

import numpy as np
import matplotlib.pyplot as plt

pts = 1000000
mean = [0.0, 0.0]
cov = [[1.0,0.0],[0.0,1.0]]

x,y = np.random.multivariate_normal(mean, cov, pts).T
plt.hist2d(x, y, bins=50, cmap=plt.cm.jet)
plt.show()

Выход:

2d_gaussian_heatmap

...