如何实现一款好用的云图(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 ...
随机推荐
- [转帖](1.2)sql server for linux 开启代理服务(SQL AGENT),使用T-SQL新建作业
https://www.cnblogs.com/gered/p/12518090.html 回到顶部 [1]启用SQL Server代理 sudo /opt/mssql/bin/mssql-conf ...
- [转帖]《Linux性能优化实战》笔记(十九)—— DNS 解析原理与故障案例分析
一. 域名与 DNS 解析 域名主要是为了方便让人记住,而 IP 地址是机器间的通信的真正机制.以 time.geekbang.org 为例,最后面的 org 是顶级域名,中间的 geekbang 是 ...
- 【转帖】x86服务器中网络性能分析与调优(高并发、大流量网卡调优)
最近在百度云做一些RTC大客户的项目,晚上边缘计算的一台宿主机由于CPU单核耗被打满,最后查到原因是网卡调优没有生效,今天查了一下网卡调优的资料,欢迎大家共同探讨. 一.网卡调优方法 1.Broadc ...
- [转帖]armv6、armv7、armv7s、armv8、armv64及其i386、x86_64区别
ARM处理器指令集 一. 苹果模拟器指令集: 指令集 分析 i386 针对intel通用微处理器32架构的 x86_64 针对x86架构的64位处理器 i386|x86_64 是Mac处理器的指令集, ...
- [转帖]Zen4架构+5nm制程+96核心 第四代AMD EPYC处理器强势来袭
https://new.qq.com/rain/a/20221111A098QE00 不得不承认,技术的持续突破和迭代,使得AMD处理器在近年来得到了"喷气机式"的增长,无论是 ...
- reposync与createrepo创建离线yum源的方法
背景 昨天晚上进行了在线升级银河麒麟V10SP2的audit和mate-indicator的rpm包 今天想了下,如果机器无法上网. 必须得在公司内部搭建一套离线的rpm源进行处理 想了下还是使用re ...
- rabbitmq rpm包安装以及简单设置用户的方法
公司有一台性能比较好的power机器. 同事要求安装rabbitmq 今天尝试进行了一下处理 公司里面有网络有相应的源 性能还不错 第一步安装一下依赖的erlang yum install erlan ...
- echarts控制柱状图柱条的宽度
barWidth属性 series: [{ name: '销量', type: 'bar', barWidth : 30,//柱图宽度 data: [5, 20, 36, 10, 10, 20] }]
- vue插件实现表格拖拽 sortable 遇见的坑
下载插件 npm install sortable.js --save (下载的时候一定要这样去下载,不要去下载 npm install sortable--save ) 因为sortable.js和 ...
- (数据科学学习手札157)pandas新增case_when方法
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,pandas在前不久更新的2. ...