import jieba
from wordcloud import WordCloud,ImageColorGenerator
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image
from matplotlib import colors
article = open('2021年政府工作报告.txt', 'r', encoding='utf-8').read()
stopwords = set()
content = [article.strip() for article in open("cn_stopwords.txt",'r',encoding="utf-8").readlines()]
stopwords.update(content)
counts = {}
words = jieba.lcut(article)
for word in words:
if len(word) == 1:
continue
else:
counts[word] = counts.get(word, 0) + 1
text = " ".join(words)
print(type(words))
items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True)
words = [e[0] for e in items]
print(words)
back_image = np.array(Image.open("img.png"))
color_list = ['#FF0000','#a41a1a']
color_map = colors.ListedColormap(color_list)
wc = WordCloud(background_color="white", font_path="simfang.ttf", scale=2, mask=back_image,colormap=color_map)
wc.generate(text)
plt.imshow(wc)
plt.axis('off')
plt.show()
最终结果图