词云是一个针对文本数据(虽然有些争议)但非常常见的可视化需求,以至于几乎你能想到的所有相关的语言和库都有对应的实现。但是这些实现最大的问题往往不在于底层技术,而在于美学细节——不经过大量调参,基本上无法生成出版级质量的图云。当然,也不排除很多实现的底层技术也有问题,文本布局算法粗糙的情况也是存在的。

Jason Davies 在多年前基于 D3.js 写的词云生成器 在布局算法、输入参数设计,以及交互细节上是让我最满意的一个实现。但是由于原始应用已经上线很多年,感觉缺少了一些重要选项,某些默认值也可能随着时间推移不那么站得住脚。于是我做了一个 fork 版本。增加了 10 个可选的调色板,调整了大部分默认值,具体修改详情见 GitHub。欢迎试用。

    Cloud2016 哈哈哈这还真是高看我了…… 看了一眼,要么是 Rcpp + 自定义 ggplot2 geom,要么是 htmlwidgets,难度远超直接魔改 HTML + JS。不过如果有壮士乐意把 R 社区的工具链在这个领域的水平提升一下,我愿意资助。

    好顶赞,

    好奇问下 控制面板的form是手搓吗, 想整一套不依赖shiny的网页app但一想起所有内容都要手写就觉得好麻烦 🙂

    ===========================================

    又搜了一下发现一堆堆的form拖拽设计工具,不过质量都不咋地,这个比较接近我想要的东西
    http://minikomi.github.io/Bootstrap-Form-Builder/

      tctcab HTML 的确是手写的。这里的 HTML boilerplate 直接套用了 Bootstrap 5,而 UI 组件的风格是从 Tailwind CSS 移植的,因为 Bootstrap 的外观和感觉已经审美疲劳了,相信很多人也有同样的想法。

      如果界面比较复杂需要避免重复,当然可以用 htmltools 或 py-htmltools 之类的工具去生成。可视化的 UI builder 随时间推移在产品层面都会过时,还是纯代码方案最靠谱。如果觉得需要经常手写前端代码而速度太慢,那你可能需要了解一下 VS Code 原生支持的 Emmet:https://code.visualstudio.com/docs/editor/emmet 很久很久以前这东西好像有一个更厉害的名字,叫 Zen Coding,禅意编程……