相信许多人都看到过下面这样的词云图,词云图是一种很好的可视化工具,其作用主要是为了文本数据的视觉表示,既酷炫又能突出重点。

关于词云图的制作,网上能够搜集到很多的教程,许多都是利用了专用的工具,这些工具便捷又强大,但是它们普遍存在一个问题:功能太过专一,且适用范围有限。

今天我们要尝试的,是使用通用的编程语言python来制作词云。

python这门编程语言非常地简单易用,即使看起来很复杂的设置,python用一个库和几条代码就能搞定了~第一步:下载并安装Anaconda

Anaconda官网,选择适合你电脑的版本,推荐下载使用python3.6版本,因为在最新的版本当中,许多python之前的语言缺陷都得到了解决。

下载完成后,跟一般的软件一样安装即可。安装好后在cmd中打开jupyter book,并新建一个目录。

第二步:分析文本生成词云

词云分析的对象,是文本。理论上讲,文本可以是各种语言的。英文、中文、法文、阿拉伯文……

最近大家都在追权力的游戏,我就在wiki上面搜索权力的游戏并将一些文本复制粘贴,存入wordcloud的文本里。

wordcloud把词云当作一个对象,它可以将文本中词语出现的频率作为一个参数绘制词云,而词云的大小、颜色、形状等都是可以设定的。

生成一个漂亮的词云文件三步就可以完成。即:

1、配置对象参数

2、加载词云文本

3、输出词云文件 (如果不加说明默认的图片大小为400 * 200)

首先安装这个库:pip install wordcloud

简单了解一下wordcloud库的一些方法:

打开jupyter,进行词云的绘制。#读取词云文本

filename = 'Game of Thrones.txt'

with open(filename) asf:

mytext = f.read

mytext

然后导入词云库,利用mytext中存储的文本内容来制造词云。from wordcloud import WordCloud

wordcloud = WordCloud.generate(mytext)

这两句代码运行没有任何的反应,但是此时词云分析已经完成了。制作词云的核心步骤只需要这2行语句,而且第一条还只是从扩展包里找外援。但是程序并不会给我们显示任何东西。

接下来我们需要python的一个强大库,matplotlib,执行下面的代码,词云图就出来了。%pylab inline

import matplotlib.pyplot as plt

plt.imshow(wordcloud, interpolation='bilinear')

plt.axis('off')

丹尼真的是妥妥的大女主啊,临冬城的出现比例也很大。

完整代码如下:filename = 'Game of Thrones.txt'

with open(filename) as f:

mytext = f.read

from wordcloud import WordCloud

wordcloud = WordCloud.generate(mytext)

%pylab inline

import matplotlib.pyplot as plt

plt.imshow(wordcloud, interpolation='bilinear')

plt.axis('off')

以上就是利用wordcloud制作词云的方法,仅仅用了十行代码就实现了哟~

第三步,自定义图片词云

上面的示例用的是英文文档,默认输出的词云图是长方形的,接下来我们要使用中文文档,然后实现输出有形状的图片。

这时仅仅使用wordcloud库没有办法实现我们的需求,我们还需要使用jieba和scipy两个库。

在生成词云的时候,Wordcloud默认是按照空格或者标点作为分割符来对目标文本进行分词处理。

若是英文文本可直接调用,若是中文文本,则需要先对文本进行分词处理然后用空格拼接,再调用wordcloud库函数。

jieba是实现中文分词的组件,它能够将句子精确的切开,适合做文本分析,还支持繁体分词、自定义词典等,关于jieba库的细则可以查看文档:

想要生成各种形状的图片,scipy库是必不可少的图片处理工具。

本次数据文档选用权力的游戏第八季百度百科分集剧情的前4集内容,将内容存储到一个txt文档中。

既然需要生成自定义的词云图片,那么还需要准备一张图片备用,建议使用纯色背景的图片,将图片存储后备用。

执行下面的代码即可生成图片型的词云图:#导入wordcloud模块和matplotlib模块

from wordcloud import WordCloud,ImageColorGenerator

import matplotlib.pyplot as plt

from scipy.misc import imread

import jieba

#读取一个txt文件

text = open(r'C:Users...权力的游戏.txt','r').read

#读入背景图片

bg_pic = imread(r'C:Users....jfif')

wordlist_after_jieba = jieba.cut(text, cut_all = True)

wl_space_split = ' '.join(wordlist_after_jieba)

#生成词云

font = r'C:WindowsFontssimfang.ttf'

wc = WordCloud(mask=bg_pic,background_color='white',font_path=font, scale=1.5).generate(wl_space_split)

image_colors = ImageColorGenerator(bg_pic)

#显示词云图片

plt.imshow(wc)

plt.axis('off')

plt.show

往期推荐有哪些你不知道的python小工具99%的人都不知道的Python整理文件方法,效率提升100倍

利用python制作漂亮的词云图_利用python制作词云,wordcloud神器你值得拥有相关推荐

  1. 利用python制作漂亮的词云图_利用python制作漂亮的词云图

    新建一个新的目录 随便找个地方新建一个目录,比如我在F盘下面新建一个word_cloud文件夹(名字都是随便取),并且打开这个文件夹. 把刚刚下载的msyh.ttc复制到这里. 新建一个my_word ...

  2. 利用python制作漂亮的词云图

    作者:黎智煊 叩丁狼高级讲师.原创文章,转载请注明出处. 前言:现在制作一个词云图还是简单的事, 例如这个-> https://wordart.com (选择Noto Sans S Chines ...

  3. python制作京东评论词云图

    python制作京东评论词云图 接上一篇文章python爬取京东评论,在这篇文章的基础上进行词频分析. 首先我们把之前爬取的10页评论保存到文本文件 import jieba import wordc ...

  4. python词云图素材_用Python制作酷炫词云图,原来这么简单!

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

  5. python词云图制作壮观天体照_用Python制作酷炫词云图,原来这么简单!

    二.利用wordcloud绘制词云图 wordcloud 是Python中制作词云图比较经典的一个模块,赋予用户高度的自由度来创作词云图: 图2 wordcloud制作词云图示例2.1 从一个简单的例 ...

  6. 用Python制作酷炫词云图,原来这么简单!

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

  7. python爬取B站视频弹幕分析并制作词云

    1.分析网页 视频地址: www.bilibili.com/video/BV19E- 本身博主同时也是一名up主,虽然已经断更好久了,但是不妨碍我爬取弹幕信息来分析呀. 这次我选取的是自己 唯一的爆款 ...

  8. python爬取胡歌相关视频弹幕,分析并制作词云

    养成习惯,先赞后看!!! 目录 1.分析网页 2.爬虫+jieba分词+制作词云 2.1爬虫 2.2jieba分词 2.3制作词云 3.成品展示 4.完整代码 1.分析网页 视频地址:https:// ...

  9. python画二维温度云图_利用python画出词云图

    本文将介绍如何利用python中相应的模块画出词云图.首先给出效果图: 其中词云图中的词汇是对手机短信中的垃圾短信的统计,字体越大表示在垃圾短信中出现的频次越高.下面给出具体的步骤. 读取" ...

最新文章

  1. [置顶] java面试题经典20例【第三季】
  2. C++ deque 底层原理及 queue、stack 容器的使用详解
  3. IPFS下载安装和配置
  4. canvas小程序-快跑程序员
  5. 日志服务SLS 助力识货 APP,解决业务数据采集查询监控问题
  6. axis2接收json_AXIS2 如何返回JSON数据
  7. 超详细Gitlab Runner环境配置中文教程
  8. XPath 元素及属性查找
  9. 计算机组成原理第6版课后答案,计算机组成原理第6章习题参考答案
  10. Knoll Light Factory 3.2 for Mac 完整汉化版 灯光工厂 for Mac中文版 支持PSCC2019
  11. vue 文件名乱码_如何解决vue.js中文乱码问题
  12. 程序化广告(二)- 考核指标如CTR/CVR/ROI/ARPU等
  13. xmind电脑版免费_有哪些免费好用的电脑版剪辑软件?
  14. cesium添加高德路网中文注记图及高德在线地图介绍
  15. 伺服舵机带参方向控制
  16. 第31章 TIM—基本定时器—零死角玩转STM32-F429系列
  17. 【贪心】兔警官朱迪买礼物
  18. Oracle Primavera Unifier Version 22.10 新特征
  19. Matlab exercise04
  20. oracle insert all 用法

热门文章

  1. 关于pdf在线预览,限制下载打印,pdf.js
  2. 数据库之MySQL查询去重数据
  3. 计算机学院毕业设计文化衫,【计算机学院】PS决赛“设计服装” 选手勾勒毕业印象...
  4. 数据与广告系列三十:从oCPX的无形调控之手到定向价值定位
  5. 留守式育儿下的“读书郎们”面临淘汰,孩子的锁链该解除了!
  6. ubuntu安装pytorch_geometric
  7. 基于STM32的智能手环(一)-------计步、速度、距离、卡路里的功能实现
  8. 九州云边缘管理平台获评年度明星产品
  9. 【嵌入式】FS2410移植U-Boot-1.1.6
  10. HTML:HTML 快速入门