效果图:
详细代码:
import numpy as np
from PIL import Image #图像处理库
from wordcloud import WordCloud
import matplotlib.pyplot as plt #绘制图像的模块
import jieba #jieba分词
Mask=np.array(Image.open('3.jpg'))#定义词频背景
path_txt='all.txt' #读取的文本文件,文本文件与3.jpg在同一文件夹下
f = open(path_txt,'r',encoding='UTF-8').read()
# 结巴分词,生成字符串,wordcloud无法直接生成正确的中文词云
cut_text = " ".join(jieba.cut(f))
wc = WordCloud(
#设置字体,不然会出现口字乱码,文字的路径是电脑的字体一般路径,可以换成别的
font_path="C:/Windows/Fonts/simfang.ttf",
#设置了背景,宽高
background_color="white",width=1000,height=880,mask=Mask).generate(cut_text)
plt.imshow(wc, interpolation="bilinear")#显示词云
plt.axis("off") #关闭坐标轴
plt.show()#显示图像
wc.to_file('result.jpg')
附件:背景图3.jpg