在线词云加载慢,有水印?作为程序员,教你如何使用Java,Python和JS生成词云!
声明:本文转载huaairen作者一文《制作词云库图片》,如有侵权,请联系删除。
前言
某天心血来潮,想搞搞词云这玩意,网上很多在线生成词云的网站,但是加载都比较慢,或者有水印,再或者是无水印却背景颜色不喜欢。心想,这玩意不难,应该有开源代码库可以使用的吧?网上一搜,虽然方法不多,但是也总有一些好使的,特意摘取huaairen一文,加以提取出使用Python、Java和JS生成词云的方法,转载内容如下:
1. python生成词云图
简单的代码示例如下:
# coding=utf-8
from wordcloud import WordCloudf = open(u'txt/file.txt','r').read()
wordcloud = WordCloud(background_color="white",width=1000, height=860, margin=2).generate(f)
# width,height,margin可以设置图片属性# generate 可以对全部文本进行自动分词,但是他对中文支持不好
#wordcloud = WordCloud(font_path = r'D:\Fonts\simkai.ttf').generate(f)
# 你可以通过font_path参数来设置字体集#background_color参数为设置背景颜色,默认颜色为黑色
import matplotlib.pyplot as plt
plt.imshow(wordcloud)
plt.axis("off")
plt.show()
wordcloud.to_file('out.png')
效果图如下:
小总结:
这只是一个简单的例子。你可根据自己的需求设置字体,设置形状,设置颜色,倾斜度等属性。
基于Python的词云生成类库,很好用,而且功能强大。
个人强力推荐:github https://github.com/amueller/word_cloud
官方地址:https://amueller.github.io/word_cloud/
2. Java生成词云图
需要添加maven依赖
<dependency><groupId>com.kennycason</groupId><artifactId>kumo-core</artifactId><version>1.13</version>
</dependency>
<dependency><groupId>com.kennycason</groupId><artifactId>kumo-tokenizers</artifactId><version>1.12</version>
</dependency>
java代码如下:
//建立词频分析器,设置词频,以及词语最短长度,此处的参数配置视情况而定即可FrequencyAnalyzer frequencyAnalyzer = new FrequencyAnalyzer();frequencyAnalyzer.setWordFrequenciesToReturn(600);frequencyAnalyzer.setMinWordLength(2);//引入中文解析器frequencyAnalyzer.setWordTokenizer(new ChineseWordTokenizer());//指定文本文件路径,生成词频集合final List<WordFrequency> wordFrequencyList = frequencyAnalyzer.load("E:\\ciyun/wordcloud.txt");//设置图片分辨率Dimension dimension = new Dimension(1920,1080);//此处的设置采用内置常量即可,生成词云对象WordCloud wordCloud = new WordCloud(dimension,CollisionMode.PIXEL_PERFECT);//设置边界及字体wordCloud.setPadding(2);java.awt.Font font = new java.awt.Font("STSong-Light", 2, 20);//设置词云显示的三种颜色,越靠前设置表示词频越高的词语的颜色wordCloud.setColorPalette(new LinearGradientColorPalette(Color.RED, Color.BLUE, Color.GREEN, 30, 30));wordCloud.setKumoFont(new KumoFont(font));//设置背景色wordCloud.setBackgroundColor(new Color(255,255,255));//设置背景图片//设置背景图层为圆形wordCloud.setBackground(new CircleBackground(255));wordCloud.setFontScalar(new SqrtFontScalar(12, 45));//生成词云wordCloud.build(wordFrequencyList);wordCloud.writeToFile("D:\\ciyun/ciyun1.png");
运行效果:
小总结:
使用这个方法需要安装java的jdk环境,同时还需要引入两个包,有环境和熟悉的可以尝试使用此方法
3. Js生成词云图
js代码如下:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><script src="https://cdn.bootcss.com/wordcloud2.js/1.1.0/wordcloud2.js"></script><script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
</head>
<body><div id="canvas-container" align="center"><canvas id="canvas" width="600px" height="400px"></canvas></div>
</body>
</html>
<script>var options = eval({"list": [['Google', 10],['Tencent', 9],['Alibaba', 7],['Baidu', 6],['NetEase', 4],['JD', 5],['Youku', 4],['Meituan', 3],['Douban', 3]],"gridSize": 16, // size of the grid in pixels"weightFactor": 10, // number to multiply for size of each word in the list"fontWeight": 'normal', // 'normal', 'bold' or a callback"fontFamily": 'Times, serif', // font to use"color": 'random-light', // 'random-dark' or 'random-light'"backgroundColor": '#333', // the color of canvas"rotateRatio": 1 // probability for the word to rotate. 1 means always rotate});var canvas = document.getElementById('canvas');WordCloud(canvas, options);
</script>
运行效果:
小总结:
这个方法最简单,只需新建一个文件文本,命名为world-cloud.html,然后将代码复制进去,用浏览器运行world-cloud.html文件即可生成词云。
官网在线体验地址:https://wordcloud2-js.timdream.org/#love
项目源码地址:https://github.com/timdream/wordcloud
项目源码地址:https://github.com/timdream/wordcloud2.js
总结:如需看更详细的文章内容,请看原文,链接如下:
https://www.cnblogs.com/huaairen/p/12203143.html
在线词云加载慢,有水印?作为程序员,教你如何使用Java,Python和JS生成词云!相关推荐
- 未能加载文件或程序集“XXX”或它的一个依赖项,试图加载格式不正确的程序...
问题描述: 未能加载文件或程序集"XXX"或它的一个依赖项,试图加载格式不正确的程序 解决方法: 方法一:在vs的配置管理器中,把活动解决方案平台改为Any CPU就可以了 方法二 ...
- 未能加载文件或程序集“****”或它的某一个依赖项。试图加载格式不正确的程序。解决方案总结
未能加载文件或程序集"****"或它的某一个依赖项.试图加载格式不正确的程序.解决方案总结 参考文章: (1)未能加载文件或程序集"****"或它的某一个依赖项 ...
- 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
试图加载格式不正确的程序. (异常来自 HRESULT:0x8007000B) 参考文章: (1)试图加载格式不正确的程序. (异常来自 HRESULT:0x8007000B) (2)https:// ...
- 安装Windows服务时出现试图加载格式不正确的程序或系统找不到指定的文件以及相关问题
安装Windows服务可使用, C:\Windows\Microsoft.NET\Framework64\v4.0.30319>installUtil.exe Microsoft (R) .NE ...
- 64位操作系统下IIS报“试图加载格式不正确的程序”错误
缘由:在64位操作系统下IIS发布32位的项目,报"项目依赖的dll无法读取,试图加载格式不正确的程序"错误. 原因:程序集之间的通讯要么全是64位环境下的,要么全是32位环境下的 ...
- C# Winform 未能加载文件或程序集System.Data.SQLite或它的某一个依赖项。试图加载格式不正确的程序...
在使用Winform 开发了一个小软件,其中使用了SQLite作为数据库 但在我的Win7 64位系统上却出现了以下错误: System.BadImageFormatException: 未能加载文件 ...
- 试图加载格式不正确的程序
部署IIS的时候,会出现 System.BadImageFormatException: Could not load file or assembly 'xxx' or one of its dep ...
- System.BadImageFormatException: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)...
System.BadImageFormatException: 试图加载格式不正确的程序. (异常来自 HRESULT:0x8007000B) 原文 System.BadImageFormatExce ...
- 【转发】未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。...
http://www.cnblogs.com/joey0210/archive/2012/09/29/2708420.html 上一篇文章说到了DLL引用问题,主要是说的程序中如果使用过了反射,则反射 ...
最新文章
- spring viewResolver 类别
- 什么是Gut–Skin Axis
- Firefox about
- LeetCode 2035. 将数组分成两个数组并最小化数组和的差(状态压缩DP)
- 使用deeplearning4j训练Doc2Vec(文档向量)
- 读取.Properties配置文件
- 同步异步与阻塞非阻塞
- toLocaleTimeString()方法在IE和谷歌浏览器上 根据本地时间格式,把 Date 对象的时间部分(不含日期)转换为“时间字符串”存在区别...
- linux内核安全模块,对Linux内核的修改 - Linux 安全模块(LSM)简介_Linux安全_Linux公社-Linux系统门户网站...
- emd经验模态分解 matlab,经验模态分解(EMD)在地球物理资料中的应用(附MATLAB程序)...
- React中防止事件冒泡:e.stopPropagation()
- 论参加数学建模比赛的正确姿势
- Java 线程的状态
- 计算机专业电脑i5与i7的区别,电脑i5处理器和i7处理器有什么区别
- 使用Canvas实现网页鼠标签名效果
- 高等教师资格证考试复习笔记-高等教育学-(11)- 高等学校的思想政治教育
- 靶机渗透练习60-digitalworld.local:FALL
- 我的世界java转模组基岩,《我的世界》无模组激光门!瞬间就能粉碎基岩,凋灵也要被秒杀?...
- [图文教程] 禁止 Windows 10 自动下载和更新驱动程序(转)
- 抖音搬运次数过多 | 快手怎么检测原创的