python利用WordCloud模块实现词云绘制
作者:微小冷
wordcloud是词云绘图模块,封装了WordCloud词云类,是词云的基本载体,下面小编就来和大家详细讲讲如何利用WordCloud模块实现词云绘制吧,希望对大家有所帮助
初步认识
wordcloud是词云绘图模块,封装了WordCloud词云类,是词云的基本载体。在新建一个词云之后,通过generate装载用以生成词云的字符串,最后用to_file把词云图保存到文件中,例如
from wordcloud import WordCloud
w = WordCloud()
txt = "tinycool cool tiny Python WordCloud word cloud word not world"
w.generate(txt)
w.to_file("pywordcloud.png")
效果如下

基本参数
仅就这张图像来说,我们能感受到的特性大概有
- 词云图的宽度、高度
- 背景颜色,文字颜色
- 字体
- 单词长度,单词个数
这些特性可受到下列参数调控
| 参数 | 说明 | 备注 |
|---|---|---|
| font_path | 字体文件路径 | otf或ttf文件 |
| width | 词云宽度 | 默认400 |
| height | 词云高度 | 默认200 |
| min_font_size | 最小文字尺寸 | 默认4 |
| max_font_size | 最大文字尺寸 | 默认为图像高度 |
| relative_scaling | 词频对尺寸的影响 | 默认"auto" |
| font_step | 字体步长 | 默认1 |
| max_words | 最大单词数 | 默认200 |
| min_word_length | 最短单词长度 | 默认0 |
| background_color | 背景色 | 默认"black" |
| mode | 颜色格式 | 默认RGB |
| colormap | 颜色映射 | |
| repeat | 是否重复单词 | 默认False |
下面对这些参数稍作更改,并
# txt即本文前面所有文字,因为太多就不写了
txt = r'''
'''
dct = dict(width=600, height=300,
font_path = r"C:\Windows\Fonts\simhei.ttf",
min_font_size = 10,
max_font_size = 100,
max_words = 20,
min_word_length = 2,
background_color = "white",
colormap = "jet")
w = WordCloud(**dct)
w.generate(txt)
w.to_file("pywordcloud.png")
效果如下,由于最多只显示20个单词,而且尺寸最小是10,最大100,所以不太好看。

掩模参数
所谓掩模,就是词云组成的图案,主要由以下参数调控。
| 参数 | 说明 | 备注 |
|---|---|---|
| mask | 掩模数组 | 默认None |
| contour_width | 掩模宽度 | 默认为0 |
| contour_color | 掩模颜色 | 默认"black" |
掩模数组由0和1构成,词云只在掩模数组为1的位置显示。下面画一个椭圆作为掩模数组,椭圆圆周的方程为

import numpy as np
y, x = np.indices([300,600])
delta = np.sqrt(280**2-(2*y-300)**2)
mask = (x<300+delta) & (x>300-delta)
mask = (1-mask)*254+1
w = WordCloud( mask = mask, contour_width=100,
font_path = r"C:\Windows\Fonts\simhei.ttf")
w.generate(txt)
w.to_file("pywordcloud.png")
效果如下

到此这篇关于python利用WordCloud模块实现词云绘制的文章就介绍到这了,更多相关python WordCloud内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
