素材
import matplotlib.pyplot as plt # 數學繪相簿
#from PIL import Image
#import numpy as np # 科學數值計算包,可用來儲存和處理大型矩陣
import jieba # 分詞庫
from wordcloud import WordCloud, ImageColorGenerator # 詞雲庫
from scipy.misc import imread
# 1.讀入txt文字資料
text = open(r'.\jay.txt', "r").read()
# 2.結巴分詞:cut_all引數可選, True為全樣式,False為精確樣式,預設精確樣式
cut_text = jieba.cut(text)
# 必須給個符號分隔開分詞結果,否則不能繪製詞雲
result = " ".join(cut_text)
# 3.初始化自定義背景圖片
# image = Image.open(r'.\jay.png')
# 讀取背景圖片,註意路徑
image = imread(".\jay1.jpg")
# image = np.array(image)
# 4.產生詞雲圖
# 有自定義背景圖:生成詞雲圖由自定義背景影象素大小決定
wc = WordCloud(
font_path=r".\simhei.ttf",
background_color='white',
max_font_size=50,
# 詞雲形狀
mask=image
)
# 5.產生詞雲
wc.generate(result)
# 繪製文字的顏色以背景圖顏色為參考
# 從背景圖片生成顏色值
image_color = ImageColorGenerator(image)
wc.recolor(color_func=image_color)
# 按照背景圖大小儲存繪製好的詞雲圖,比下麵程式顯示更清晰
wc.to_file(r".\wordcloud_re.png")
# 6.顯示圖片
# 指定所繪圖名稱
plt.figure("jay")
# 以圖片的形式顯示詞雲
plt.imshow(wc)
# 關閉影象坐標系 不顯示坐標軸
plt.axis("off")
plt.show()