词云是一个针对文本数据(虽然有些争议)但非常常见的可视化需求,以至于几乎你能想到的所有相关的语言和库都有对应的实现。但是这些实现最大的问题往往不在于底层技术,而在于美学细节——不经过大量调参,基本上无法生成出版级质量的图云。当然,也不排除很多实现的底层技术也有问题,文本布局算法粗糙的情况也是存在的。
Jason Davies 在多年前基于 D3.js 写的词云生成器 在布局算法、输入参数设计,以及交互细节上是让我最满意的一个实现。但是由于原始应用已经上线很多年,感觉缺少了一些重要选项,某些默认值也可能随着时间推移不那么站得住脚。于是我做了一个 fork 版本。增加了 10 个可选的调色板,调整了大部分默认值,具体修改详情见 GitHub。欢迎试用。