只是为了好玩,我试图编写一个鼠标跟踪脚本,我已经完成了基础部分,但是我在热力图方面完全没有成功。
我的初始代码是通过PIL保存图像(仅用于检查它是否有效),这很好,但显然它只是单个点。然后我尝试实现自己的热图,但发现这需要半年多的时间才能处理一些非常基本的东西,所以也不会起作用。
我一直在尝试使用不同的matplotlib示例,但我才意识到“热图”在这种情况下有不同的含义。
它不是不工作,但也绝对不是我希望看到的结果。我想知道是否有人知道如何获取另一种类型的热图,其中你可以得到热斑?我一直在谷歌各种术语,但似乎都会导致相同的3个或更多的SO问题。
数据存储在一个字典中{(x, y): frequency}
,因此要获得上面的结果,我使用了这段代码(matplotlib部分来自在Matplotlib中绘制二维热图):
import matplotlib.pyplot as plt
resolution = (1920, 1080)
total = []
for y in range(resolution[1]):
row = []
for x in range(resolution[0]):
try:
row.append(data[(x, y)])
except KeyError:
row.append(0)
total.append(row)
plt.imshow(total, cmap='hot', interpolation='nearest')
plt.show()
那个速度并不太重要,因为它将与跟踪分开完成,我只是想要一些最初可以工作的东西。