本篇先来解释一个名词“词云”,“词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。 词云图,很牛逼的存在,最近几天我也研究了一下,本篇将带领大家生成漂亮的词云图。词云的生成依据权重较高低, 词的倾斜角度、字体、颜色等属性来控制生成的词云图 。话不多说,先来看一些我生成的例子。

喝杯咖啡

战斧

蜜芽蜜芽

实用的词云网站

1.https://wordart.com/

国外版的词云图制作网站,网站操作页面如下图,你可以导入文本,或者导入网页内容,设置词云图要生成的图形,字体,布局,样式等。生成出的词云图你也可以对它进行编辑,根据自己需求进行改动。(注:默认不支持中文,需导入中文字体)

2.https://minitagcloud.cn/create.html

国产词云制作网站,内容比较丰富,包含上一款制作词云的所有功能。(国产更适合国民使用习惯)

3.https://worditout.com/

网站很人性,还给用户解释什么是词云以及词云的作用等信息。它操作简单,进入网站后只需要输入一段文本,然后就可以生成各种样式的“云”文字。用户可以根据自己的需要对WordItOut进行再设计,比如颜色、字符、字体、背景、文字位置等,保存下载后,可以复制。

4.http://yciyun.com/

易词云又一款国产强大的词云制作网站。里面的强大欢迎自己去体验。

代码生成词云图

在为找到上面那么多优秀的词云图制作网站而兴奋的时候,我突然意识到一点,我是程序员额!于是我搜罗如何通代码完成上述功能。Goooooogle一下,有很多通过程序生成云词图的实例,我看到主要有两类,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");

运行效果:

3.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>

运行效果:

官网在线体验地址:https://wordcloud2-js.timdream.org/#love

项目源码地址:https://github.com/timdream/wordcloud

项目源码地址:https://github.com/timdream/wordcloud2.js

结语

好了,一个生成词云图的功能,我扒出了这么多东西。意外的发现让我觉得词云图很好玩,就Gooogle了一下,没想到有一堆网站。3分钟对工具网站的喜爱后,我尝试通过技术手段来实现。没想到有多种生成词云图的方式,着时让我震惊。回头看我发现词云的这个过程,让我想起了一句话“以为的不是你以为的”,互联网时代是信息大爆炸的时代,只有不断学习,不断提升认知,才能让你立于不败之地!

推荐

自己搭建了一套logoly环境,欢迎搭建来体验。

http://www.mhtclub.com/logoDesign/

也欢迎朋友们来我的博客逛逛!

http://www.mhtclub.com

一位朋友的人工智能教程。零基础,通俗易懂!

超简单:3分钟制作惊艳的词云图相关推荐

  1. excel亮灯怎么设置_Excel这些超简单的聚光灯制作方法,核对数据再也不用愁!...

    原标题:Excel这些超简单的聚光灯制作方法,核对数据再也不用愁! 最近一直问小编Excel的聚光灯效果怎么做?今天小编就教大家快速制作聚光灯效果,核对数据再也不用怕看花眼啦! 一.聚光灯效果制作 步 ...

  2. python爬取豆瓣《狂暴巨兽》评分影评,matplotlib和wordcloud制作评分图和词云图

    开发环境:win7,8,10,python3+ python模块:requestes,bs4,matplotlib,jieba,wordcloud,PIL,numpy,random 实现的功能和思路: ...

  3. 超简单:快速制作一款高逼格词云图

    词云图,也叫文字云,是对文本中出现频率较高的"关键词"予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可领略文本的主旨. 一.先看看几个词云图 ...

  4. python词云图制作壮观天体照_超简单:快速制作一款高逼格词云图

    词云图,也叫文字云,是对文本中出现频率较高的"关键词"予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可领略文本的主旨. 一.先看看几个词云图 ...

  5. python 制作高斯mask_【趣味案例】用Python制作各种酷炫词云图,原来这么简单!...

    一.简介词云图是文本挖掘中用来表征词频的数据可视化图像,通过它可以很直观地展现文本数据中地高频词:! 图1 词云图示例 在Python中有很多可视化框架可以用来制作词云图,如pyecharts,但这些 ...

  6. 使用 Python 制作 疾风剑豪-亚索 词云图

    前段时间觉得词云这东西挺好玩的,于是就稍微入门看看情况 安装word-cloud 老规矩,在cmd下输入: pip3installwordcloud 如上图,我之前已经装好了. 使用环境 python ...

  7. 实战案例:使用Python制作疾风剑豪-亚索词云图

    感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习,问答.求职一站式搞定! 作者:王大伟 博客专栏:https://www.hell ...

  8. 【转】超简单利用UGUI制作圆形小地图

    http://sanwen.net/a/ithhtbo.html 由于UI都是Achor自己用PS做的,比较粗糙,大家见谅,不过丝毫不影响功能的实现,下面我们看看今天的笔记: 首先我们看看需要哪些组件 ...

  9. 证件照怎么制作?超简单的证件照制作教程来了

    证件照怎么制作,证件照制作教程分享.证件照是日常生活中经常会需要用到的照片类型,比如在填写资料,报名考试,制作证件的时候都需要使用证件照,但是不同证件照的使用要求是不同的,怎样制作不同场合下的证件照呢 ...

最新文章

  1. 如何在 Vue 项目中使用 echarts 1
  2. Python列表、元组
  3. HHKB Programming Contest 2020 总结
  4. 三位数倒序数C语言,C语言求助!一个三位数的逆序数,总是编不对
  5. mysql会对同时读取加锁吗_程序员经典面试题,MySQL并发读写的时候,都是需要加锁的么?...
  6. 利用JMeter进行Web测试(简介适合初学者)
  7. 齐博cms任意登陆漏洞
  8. 写给大一大二大三还在迷惘中的学生
  9. matlab语法——min函数
  10. ROS联合Webots之实现趣味机器人巡线刷圈
  11. pycharm运行pytest参数化运行teardown错误
  12. 5g网络测试用什么软件,5G网络测速
  13. 2018这类程序员工资最高!年薪50万只能算一般
  14. 弹性地基梁板的计算理论_弹性地基梁的计算方法是什么?
  15. 改用Hamibot-艳云脚本云控系统
  16. 创意计算机产品,10款惊艳的创意产品,脑洞大就是任性!
  17. 批量抠图,只需要这几行python代码!
  18. Android Studio 实战干货例程
  19. jdbc笔记(完整)
  20. 右键添加[显示、隐藏文件]

热门文章

  1. python 爬取微博实时热搜,并存入数据库实例
  2. 睡眠的一场革命!-读《睡眠革命》笔记(中)
  3. numpy.core.multiarray failed to impor
  4. Robocode学习笔记(一)
  5. go单元测试踩坑记录
  6. 2021-08-22 愿景和范围文档模板样例
  7. 浅谈垃圾渗滤液处理技术分析!
  8. 初学者正确学习UI设计的3个方法!
  9. 老师计算机组合照说说,有关于老师的说说句子
  10. Android 实现扑克牌动画,Android扑克牌猜点小游戏源码