<Python> python从入门到实践(实践篇)(1) --词云制作
实现词云制作需要用到wordcloud库
wordcloud库的使用
wordcloud是优秀的词云展示第三方库
| 方法 | 描述 |
|---|---|
| w = wordcloud.WordCloud(<参数>) | 创建一个词云对象 |
| w.generate(txt) | 项WordCloud对象w中加载文本 |
| w.to_file(filename) | 将词云输出为图像文件,.png或.jpg格式 |
wordcloud()内的参数能够设置词云风格,具体如下:
| 参数 | 描述 |
|---|---|
| width | 指定词云对象生成图片的宽度,默认400像素 |
| height | 指定词云对象生成图片的高度,默认200像素 |
| min_font_size | 指定词云中字体的最小字号,默认4号 |
| max_font_size | 指定词云中字体的最大字号,根据高度自动调节 |
| font_step | 指定词云中字体字号的步进间隔,默认为1 |
| font_path | 指定字体文件的路径,默认None(常用font_path = “msyh.ttc”,是微软雅黑字体) |
| max_words | 指定词云显示的最大单词数量,默认200 |
| stopwords | 指定词云的排除词列表,即不显示的单词列表 |
| mask | 指定词云形状,默认为长方形,需要引用imread()函数 |
| background_color | 指定词云图片的背景颜色,默认为黑色 |
| mode | 设置显色模式,默认RGB,如果为RGBA且background_color不为空时,背景为透明 |
| margin | 词与词之间的边距,默认为2 |
| scale | 缩放比例,对图像整体进行缩放 |
| prefer_horizontal | 词在水平方向上出现的频率,默认为0.9 |
| color_func | 生成新颜色的函数 如果为空 则使用 self.color_func |
| regexp | 默认单词是以空格分割,如果设置这个参数 将根据指定函数来分割 |
| collocations | 是否包含两个词的搭配 默认为True |
| colormap | 给所有单词随机分配颜色,指定color_func则忽略 |
| random_state | 为每个单词返回一个PIL颜色 |
注:imread()函数来自库scipy.misc,用法如
from scipy.misc import imread
mk = imread("pic.png")
w = wordcloud.WordCloud(mask = mk)
实例:
# 统计三国演义中出现频次最高的人物称谓前30名
import jieba
import wordcloud
from lab import ls
filename = "Three Kingdom.txt"
txt = open(filename, "r", encoding="utf-8").read()
words = jieba.lcut(txt)
t = " ".join(words)
w = wordcloud.WordCloud(font_path = "msyh.ttc", width=500, \
height=400, background_color="white", \
max_words=30, stopwords=ls)
w.generate(t)
w.to_file("wordcloud.png")


浙公网安备 33010602011771号