【本文目录】
一、wordcloud的安装
二、wordcloud简单示例
三、wordcloud的API
一、wordcloud的安装
(一)命令安装:pip install wordcloud
(二)下载安装
官网下载wordcloud安装程序,需与你使用的Python版本一致(下图红框内为版本号)。
https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
再进入安装程序所在命令窗口环境,输入:pip install ******.whl
(三)安装检查
检查wordcloud是否安装成功,可以有如下方式:
命令窗口输入:pip list
若含有wordcloud及其版本信息则安装成功。
或者
命令窗口输入:python
进入python交互环境后(或IDLE中直接)输入:import wordcloud
若未报错则安装成功。
二、wordcloud简单示例
暂且先来一段简单的代码,示例wordcloud的使用方法与效果。
代码示例
import wordcloud
# 实例化对象
test_English = wordcloud.WordCloud()
# 调用generate方法将文本生成wordcloud
# 还可调用generate_from_text方法同样实现
test_English.generate("I love China, my motherland!")
# 调用to_file方法导出图像文件,支持.jpg、.png、.tif、.bmp等多格式
test_English.to_file("test_English.png")
# wordcloud默认不支持显示中文,中文会显示为方框。需先设置好中文字体
# 以下字体为C:\Windows\Fonts中的微软雅黑,拷贝至本项目文件中
font = r'msyh.ttf'
txt = "我爱中国,我的祖国!"
test_Chinese = wordcloud.WordCloud(font_path=font).generate(txt)
test_Chinese.to_file("test_Chinese.jpg")
输出结果
三、wordcloud的API
目前wordcloud所有功能都封装在WordCloud类中,相关API如下表所示:
API | 功能 |
---|---|
WordCloud([font_path, width, height, …]) | 用于生成和绘制词云对象 |
ImageColorGenerator(image[, default_color]) | 基于彩色图像的颜色生成器 |
random_color_func([word, font_size, …]) | 随机色调颜色生成 |
(一)wordcloud.WordCloud
wordcloud.WordCloud类定义(仅部分):
class wordcloud.WordCloud(font_path=None, width=400, height=200, margin=2, ranks_only=None, prefer_horizontal=0.9, mask=None, scale=1, color_func=None, max_words=200, min_font_size=4, stopwords=None, random_state=None, background_color='black', max_font_size=None, font_step=1, mode='RGB', relative_scaling='auto', regexp=None, collocations=True, colormap=None, normalize_plurals=True, contour_width=0, contour_color='black', repeat=False, include_numbers=False, min_word_length=0)
1.WordCloud的参数
名称 | 类型 | 默认值 | 含义 |
---|---|---|---|
font_path | string | None | 字体路径(字体为.OTF或.TTF格式) |
width | int | 400 | 词云图片宽度 |
height | int | 200 | 词云图片高度 |
margin | int | 2 | 词云行间距,即词与词的垂直距离 |
ranks_only | —— | None | —— |
prefer_horizontal | float | 0.9 | 值越大水平显示词越多 |
mask | nd-array 或 None | None | 词云形状,默认矩形 |
scale | float | 1 | 计算和绘图之间缩放 |
color_func | callable | None | 为单词返回的PIL颜色 |
max_words | int | 200 | 最大显示词数 |
min_font_size | int | 4 | 最小字号 |
stopwords | set of strings 或 None | None | 不显示词列表 |
random_state | —— | None | —— |
background_color | color value | black | 词云背景颜色 |
max_font_size | int 或 None | None | 最大字号 |
font_step | int | 1 | 云字间距,即词与词的水平距离 |
mode | string | RGB | —— |
relative_scaling | float | auto | 0至1间浮点数,词频对字号的重要性 |
regexp | string 或 None | None | 正则表达式 |
collocations | bool | True | 是否包括两个单词的搭配(字母组合) |
colormap | string 或 matplotlib colormap | None | 颜色图 |
normalize_plurals | bool | True | 是否从词中删除结尾的“s” |
contour_width | float | 0 | 词云形状边宽宽度 |
contour_color | color value | black | 词云形状边宽颜色 |
repeat | bool | False | 是否重复词 |
include_numbers | bool | False | 是否包含数字 |
min_word_length | int | 0 | 一个词必须包含的最小字母数 |
2.WordCloud的方法
名称 | 功能 |
---|---|
fit_words(self, frequencies) | 根据单词和频率创建一个wordcloud |
generate(self, text) | 从文本生成wordcloud。要删除重复项可设置collocations=False |
generate_from_frequencies(self, frequencies) | 根据单词和频率创建一个wordcloud |
generate_from_text(self, text) | 从文本生成wordcloud |
process_text(self, text) | 将长文本拆分为单词,消除停用词 |
recolor(self[, random_state, color_func, …]) | 重新着色。会比生成整个wordcloud快得多 |
to_array(self) | 转换为numpy数组 |
to_file(self, filename) | 导出图像文件 |
(二)ImageColorGenerator类
ImageColorGenerator(image, default_color=None)
基于彩色图像的颜色生成器。
根据RGB图像生成颜色。单词将使用彩色图像中包围的矩形的平均颜色进行着色。
构造后,该对象充当可调用对象,可以作为color_func传递给词云构造函数或recolor方法。
image:类型nd-array,(height, width, 3)
default_color:类型tuple or None,默认为None
(三)wordcloud.random_color_func
wordcloud.random_color_func(word=None, font_size=None, position=None, orientation=None, font_path=None, random_state=None)
随机色调颜色生成。如果给定一个随机对象,则用于生成随机数。
本文到此,后面将会上wordcloud实战项目喔~
☺引用转载还请注明作者说明出处哟!☺