题目:在当前文件夹中保存名为“凝聚起战胜疫情强大合力.txt”的新闻稿(选自https://baijiahao.baidu.com/s?id=1662296905701130715&wfr=spider&for=pc&searchword=疫情%20人民日报&isFailFlag=1),选择自己喜爱的背景图,将关键词填充进去,根据关键词词频生成中文词云图。
考察知识点:
1)扩展库jieba、numpy等的安装与使用;
2)熟练文本分词、关键词计数等技术。
代码如下:
代码中的文件路径均为相对路径,与编写的py文件同一目录
from os import path
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud, STOPWORDS
###当前文件路径
d = path.dirname(__file__)
file = open(path.join(d, '凝聚起战胜疫情强大合力.txt')).read()
##进行分词
default_mode =jieba.cut(file)
text = " ".join(default_mode)
alice_mask = np.array(Image.open(path.join(d, "9.png")))
stopwords = set(STOPWORDS)
stopwords.add("said")
wc = WordCloud(
####设置字体,用的是mac电脑的字体库####
font_path=r'/System/Library/Fonts/Hiragino Sans GB.ttc',
background_color="white",
max_words=2000,
mask=alice_mask,
stopwords=stopwords)
wc.generate(text)
wc.to_file(path.join(d, "qq_result.jpg"))
plt.figure('词云')
plt.imshow(wc,interpolation='bilinear')
plt.axis("off")
plt.show()
效果图:
背景图提供: