我想生成与本文中的热图非常相似的热图:
http://www.gazehawk.com/blog/experienced-users-view-reddit-differently/
这个问题的答案并不完全令人满意,因为热图是用非常幼稚的 python 代码生成的,这对于具有大量点的大型热图来说非常慢。
那么,有更快、更灵活、更简单的解决方案吗?它可以是任何语言,我不在乎。
我认为这个问题有两个步骤:为热图生成数组 a[i,j],并使用密度图绘制它。可以通过以下方式生成数组:(1) 对具有随机值的数组进行平滑处理,或 (2) 对具有随机值的数组进行傅里叶变换。第二种方式会给你更平滑(“更好”)和可控的结果。特别是如果您根据其数量更改随机谐波的幅度。
这两个步骤都可以在MathGL中完成——免费(GPL,部分 LGPL)跨平台绘图库。它是用 C++ 编写的……所以,它足够快。
这是一个无耻的插件,但我写了一个热图库,正是因为你提到的原因。
它快速、便携且易于从任何语言调用(它是无依赖关系的 ANSI C)以及灵活的,您可以创建自定义颜色方案、“印章”、点分辨率等。
可能唯一的缺点是它没有使用 GPU(根据设计,我必须在无头服务器上运行它)所以虽然它相当快,但它仍然比基于 GPU 的慢!
例子: