前言
之前的文章我们已经介绍了如何使用wordcloud库制作中英文词云图,并介绍了中英文停用词的使用方法,介绍了如何美化词云图,例如换字体背景颜色,背景换成图片等,那这次我们就以现在很火的电视剧赘婿为例,制作赘婿小说的词云图。
数据准备
- 赘婿小说txt
- 停用词表
- 一张赘婿相关背景图
制作流程
- 读取小说文本
- 利用jieba库对文本进行分词
- 设置停用词表
- 利用wordcloud库制作词云图
代码
根据上面的流程,编写代码。
代码语言:javascript复制from matplotlib import pyplot as plt
from wordcloud import WordCloud,ImageColorGenerator
import jieba
fp = open('赘婿.txt','r')
text = fp.read()
cut_word = " ".join(jieba.cut(text))
stopwords = set()
content = [line.strip() for line in open('hit_stopwords.txt','r').readlines()]
stopwords.update(content)
background_image = plt.imread('赘婿.jpg')
wc = WordCloud(background_color = 'white',
font_path = r'/System/Library/Fonts/Supplemental/Songti.ttc',
stopwords = stopwords,
mask = background_image,
max_words=2000)
wc.generate(cut_word)
#改变字体颜色
img_colors = ImageColorGenerator(background_image)
#字体颜色为背景图片的颜色
wc.recolor(color_func=img_colors)
plt.imshow(wc, interpolation='bilinear')
plt.axis('off') #取消坐标轴
plt.show()
词云图可以看出,还是有很多次我们还需要过滤掉,这部分内容在jieba库的使用中再进行讲解。