如何实现一款好用的云图(word-cloud)生成工具?
创作背景
可以随时生成一副很酷的云图,一直是个人的梦想。
很久以前,写过一个简单版本:http://houbb.github.io/tools/wordCloud.html。
效果如下:
不过存在一些小问题:
无法自动分词
无法根据词频设置字体大小
于是自己在 github 上逛了一圈,发现了 kumo 这一款开源工具,
入门体验发现要写 10 多行代码才能实现一个最基本的云图。
这很不优雅,于是决定基于 kumo 实现一个更加易用的版本。
word-cloud
word-cloud 是一款为 java 设计的云图生成工具。
特性
极简 api,一行代码搞定一切
支持自定义云图背景
支持中英文分词,默认对用户透明
支持停顿词过滤,默认对用户透明
支持各种用户自定义配置
快速开始
maven 引入
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>word-cloud</artifactId>
<version>1.2.2</version>
</dependency>
使用
WordCloudHelper.wordCloud("该作讲述的是一个名为德特茅斯的衰落小镇下掩埋着一个古老的废弃王国,名叫圣巢。这个王国被瘟疫所侵蚀而废弃,废弃的原因则是因为名为辐光的光之古神,她可以通过思想来传播瘟疫,被瘟疫侵蚀的虫子都会被本能所支配,失去心智。\n" +
"这个王国的主人——苍白之王,自然不会坐视不管,他在圣巢范围之下的深渊,利用另一种远古力量“虚空”可以压制光明的特性,制造了容器一族。其中一位被选中的容器用来封印瘟疫,并被命名为空洞骑士。为了封印的稳固,白王寻找了三个守梦人来进一步巩固封印,三位守梦人的名称分别为守望者 - 卢瑞恩,导师 - 莫诺蒙,野兽 - 赫拉。但之后苍白之王不知去向,不完美的容器的力量的也变得逐渐虚弱,最终被辐光控制。主角就要穿过圣巢的各地,在安息之地中,我们受到曾经辐光的信徒和眷族——飞蛾族唯一留下的族人的帮助,获得了和辐光力量同源的梦之武器——梦之钉。梦之钉可以读取生物内心的想法,并可以打破守梦人的保护,进入到其梦境之中杀死守梦人。杀死了三位守梦人并解开封印后,可选的结局有到达十字路里的黑卵神殿打败空洞骑士或去到在“寻神者”更新中新加入的地点“神居”并挑战圣巢万神殿。");
效果:
支持背景
我们以鲸鱼的背景,可以让文字以图像的形式展现:
String imagePath = "backgrounds\\whale_small.png";
WordCloudHelper.wordCloud(text, "out_bg.png", imagePath);
效果如下:
Road-Map
默认的形状,图片。
引入图片背景
默认的字体优化
image 居中
开源
本来是抱着自娱自乐的目的写了这个小工具,但是感觉还是应该把这个应用开源出来。
因为没有 kumo 的开源,也就没有这一款工具。
开源地址:https://github.com/houbb/word-cloud
如果喜欢,不妨给个 star 鼓励一下作者。
希望和你一起,见证最好用的云图工具的成长。
如何实现一款好用的云图(word-cloud)生成工具?的更多相关文章
- 超好玩!10款神奇的字符图案 & 词汇云生成工具
在这里,我们推荐10款惊人的字符图案生成工具.词云可以定义为词频的图形表示,而字符图案发生器是一个把数据,如文字和标签在以视觉和吸引人的方式展示的简单的工具.这些生成工具具有不同的功能,其中包括不同的 ...
- [aspnetcore.apidoc]一款很不错的api文档生成工具
AspNetCore.ApiDoc 简单徐速一下为什么选用了aspnetcore.apidoc 而没有选用swagger 最初我们也有在试用swagger,但总是有些感觉,感觉有点不满意,就但从api ...
- 一款免费支持PDF、word、excel、PPT、jpeg之间互转线上软件
偶然发现的一款免费支持PDF.word.excel.PPT.jpeg之间互转,支持合并pdf.加密解密PDF的线上软件,首先声明,不是广告党,我自己试用过,确实是目前我用过最好用的,如果有朋友有更好的 ...
- Animo.js :一款管理 CSS 动画的强大的小工具
Animo.js 是一个功能强大的小工具,用于管理 CSS 动画.它的特色功能包括像堆栈动画,创建跨浏览器的模糊,设置动画完成的回调等等.Animo 还包括惊人的 animate.css,为您提供了近 ...
- 20款精致的长阴影 LOGO 设计【附免费生成工具】
长阴影(Long Shadow)概念来自于最新非常流行的扁平化设计(Flat Design).扁平化设计趋势影响最大的是用户界面元素和图标,但它也开始蔓延到其他网页设计的其他部分. 长阴影其实就是扩展 ...
- 推荐25款实用的 HTML5 前端框架和开发工具【下篇】
快速,安全,响应式,互动和美丽,这些优点吸引更多的 Web 开发人员使用 HTML5.HTML5 有许多新的特性功能,允许开发人员和设计师创建应用程序和网站,带给用户桌面应用程序的速度,性能和体验. ...
- 推荐一款非常好用的java反编译工具(转)
源: 推荐一款非常好用的java反编译工具
- 8款压箱底的Mac屏幕截图和录音录像工具软件,请你务必低调使用
以下几款是是Mac上优秀的屏幕截图.录像和录音工具,有了这些工具,在Mac上进行截屏.录制视频或者录音都会事半功倍. 1. Snagit Mac上最好用最强大的屏幕截图工具,支持各种方式的屏幕截图以及 ...
- 推荐一款好用的文件/文件夹对比工具 —— Beyond Compare
推荐一款好用的文件/文件夹对比工具 —— Beyond Compare! 有需要的人,用了都说好: 不知道这个是干嘛用的,说再多也没用.
- 转【Oracle】一款非常好用的trace文件分析工具
[Oracle]一款非常好用的trace文件分析工具之一 北在南方 2016-04-14 11:23:58 浏览547 评论0 摘要: 介绍一款非常好用的10046分析工具--trca(Trace ...
随机推荐
- Oracle实例的启动和关闭
启动模式 1.NoMount 模式(启动实例不加载数据库) 命令:startup nomount 讲解:这种启动模式只会创建实例,并不加载数据库,Oracle仅为实例创建各种内存结构和服务进程,不会打 ...
- Go-函数-func
- [转帖]字符集 AL32UTF8 和 UTF8
https://blog.51cto.com/comtv/383254# 文章标签职场休闲字符集 AL32UTF8 和 UTF8文章分类数据库阅读数1992 The difference betwee ...
- [转帖]Unicode与utf的前世今生
https://www.cnblogs.com/naodong/p/12742987.html 历史上存在两个独立的尝试创立单一字符集的组织,即 国际标准化组织(ISO)于1984年创建的通用字符集( ...
- 基于OpenJDK部署clickhouse-local镜像的快捷方法
基于OpenJDK部署clickhouse-local镜像的快捷方法 摘要 前期搭建了一套基于OpenJDK的Clickhouse的服务端的镜像 可以简单使用dbeaver进行连接与使用. 后来发现需 ...
- [转帖]Kubernetes-18:Dashboard安装及使用
https://www.cnblogs.com/v-fan/p/13950268.html Helm安装Dashboard 简介 Dashboard 是 kubernetes 的图形化管理工具,可直观 ...
- [转帖]shell脚本变量详解(自定义变量、环境变量、变量赋值、变量运算、变量内容替换)
https://developer.aliyun.com/article/885658 简介: shell变量 shell变量是指用一个特定的字符串去表示不固定的内容 1.变量的类型 1.1自定义变量 ...
- css3文字阴影和盒子阴影
文字阴影 文字阴影的语法格式: text-shadow:水平向右的偏移值 向下的偏移值 迷糊度 阴影的颜色,水平向右的偏移值 向下的偏移值 迷糊度 阴影的颜色; 可以有多个阴影,但是在实际的项目中最多 ...
- ClickHouse(06)ClickHouse建表语句DDL详细解析
目录 当前服务器上创建表(单节点) 语法形式 使用显式架构 从相同结构的表复制创建 从表函数创建 从选择查询创建 分布式集群创建表 临时表 分区表 创建表语句关键字解析 空值或非空修饰符 默认值表达式 ...
- 如何在centos7中完全卸载Python3
如何在centos7中完全卸载Python3?根据查到的资料,主要就是卸载,然后删除一些软连接删除干净,逻辑很简单,贴一些具体的操作代码,记录下来 . 卸载Python3的步骤 #卸载python3 ...