前言
在研究数字可视化时,接触到了词云,python中wordcloud库可以根据所给词的频率和背景图生成好看的词云,觉得很好玩,特将学习过程记录于此。部分学习内容参考了网络中blog的内容,在参考目录中罗列出。
官网传送门: https://pypi.org/project/wordcloud/
源码传送门: https://github.com/amueller/word_cloud
用法传送门: http://amueller.github.io/word_cloud/cli.html
目录
一、介绍
wordcloud是优秀的词云展示第三方库,以词语为基本单位,通过图形可视化的方式,更加直观和艺术的展示文本。
二、安装
方法一:pip
在命令行输入pip install wordcloud
方法二:conda
可以使用conda-forge安装
conda install -c conda-forge wordcloud
⭐ ⭐注意 ⭐ ⭐
官网中特别强调,wordcloud需要的依赖有numpy和pillow,当需要把wordcloud保存成一个文件的时候,需要安装matplotlib库
安装方法同上,在命令行输入pip install matplotlib
三、使用
1. 命令行方式
官网介绍传送门:http://amueller.github.io/word_cloud/cli.html
--text 参数后面要写生成词云所需要的文本文件
--imagefile 保存词云图片,指定路径和文件名
$ wordcloud_cli --text mytext.txt --imagefile wordcloud.png
注意
这个 $ 符号不需要管它,他是linux shell里的,这个命令在windows下也可以用,前提是装好wordcount
运行结果:
如果要处理pdf文件,可以使用pdftotext
$ pdftotext mydocument.pdf - | wordcloud_cli --imagefile wordcloud.png
pdftotext首先把pdf文件的处理结果写入stdout,然后再通过管道,作为wordcloud_cli的输入内容。
2. 在python中使用
2.1 简介
wordcloud 库把词云当作一个WordCloud对象,wordcloud.WordCloud()代表一个文本对应的词云,可以根据文本中词语出现的频率等参数绘制词云,绘制词云的形状、尺寸和颜色均可设定以WordCloud对象为基础,配置参数、加载文本、输出文件。
wordcloud类的初始化函数包括很多的参数,重要的已经标注了注释
# wordcloud的__init__方法的参数如下
classwordcloud.WordCloud(
font_path=None, # None表示不再另行指定使用什么样的字体
width=400, # width指定画布的宽度
height=200, # height指定画布的高 即生成分辨率为(400,200)的图片
margin=2, #
ranks_only=None,
prefer_horizontal=0.9, # 默认为0.9,代表文本横向排版出现的频率为0.9,垂直排版频率为0.1
mask=None, # 默认词云会填充画布默认大小,若不是None,则默认画布大小将失效,遮罩的形状被mask取代。mask中全白区域将不会绘制词云,所以导入图片时注意该图片的背景必须为白色,而填充区域为其他颜色,可以利用ps抠图放在纯白的画布中。
scale=1, # 默认为1,按比例放大(>1)画布或者缩小(<1) float类型
color_func=None,
max_words=200, # 最大字数
min_font_size=4, # 要使用的最小字体的字号
stopwords=