效果圖:
詳細代碼:
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