幾行代碼教你使用python製作詞雲(三)

幾行代碼教你使用python製作詞雲(三)

本文將介紹繪製指定圖片(形狀)的詞雲

1.準備數據
我這裏準備了有關葉子的介紹文本(yezi.txt),長度無關緊要,比這個長几倍都是可以的

2.準備所要形狀的圖片
我的是一張楓葉葉子圖,圖片大家可以挑自己喜歡的

3.代碼分析

導入詞雲製作庫wordcloud和中文分詞庫jieba

# 導入詞雲製作庫wordcloud和中文分詞庫jieba
import jieba
import wordcloud

導入imageio庫中的imread函數,並用這個函數讀取本地圖片,作爲詞雲形狀圖片

# 導入imageio庫中的imread函數,並用這個函數讀取本地圖片,作爲詞雲形狀圖片
import imageio
mk = imageio.imread("./input/fengye.jpg")
w = wordcloud.WordCloud(mask=mk)

構建並配置詞雲對象

# 構建並配置詞雲對象w,scale參數用法是提高清晰度
w = wordcloud.WordCloud(background_color='white',
                        font_path='simsun.ttc',
                        mask=mk,
                        scale=15)

中文分詞

# 對來自外部文件的文本進行中文分詞,得到string
file = open('./data/YeZi.txt', encoding='utf-8')
text = file.read()
textlist = jieba.lcut(text)
str = " ".join(textlist)

將str變量傳入w的generate()方法,給詞雲輸入文字

# 將str變量傳入w的generate()方法,給詞雲輸入文字
w.generate(str)

在控制檯繪製並輸出圖像

# 在控制檯繪製並輸出圖像
import matplotlib.pyplot as plt  #繪圖
plt.imshow(w,interpolation="bilinear")
plt.axis("off")

將詞雲圖片導出到當前文件夾

# 將詞雲圖片導出到當前文件夾
w.to_file('./output/yezi.png')

運行結果

4.完整代碼

# -*- coding: utf-8 -*-
"""
Created on Mon Jun  1 09:24:07 2020

@author: Jay-L
"""

# 導入詞雲製作庫wordcloud和中文分詞庫jieba
import jieba
import wordcloud

# 導入imageio庫中的imread函數,並用這個函數讀取本地圖片,作爲詞雲形狀圖片
import imageio
mk = imageio.imread("./input/fengye.jpg")
w = wordcloud.WordCloud(mask=mk)

# 構建並配置詞雲對象w,注意要加scale參數,提高清晰度
w = wordcloud.WordCloud(background_color='white',
                        font_path='simsun.ttc',
                        mask=mk,
                        scale=15)

# 對來自外部文件的文本進行中文分詞,得到string
file = open('./data/YeZi.txt', encoding='utf-8')
text = file.read()
textlist = jieba.lcut(text)
str = " ".join(textlist)

# 將str變量傳入w的generate()方法,給詞雲輸入文字
w.generate(str)

# 在控制檯繪製並輸出圖像
import matplotlib.pyplot as plt  #繪圖
plt.imshow(w,interpolation="bilinear")
plt.axis("off")

# 將詞雲圖片導出到當前文件夾
w.to_file('./output/yezi.png')

5.可能報錯

報錯原因:font_path錯誤;

解決方法參考這篇文章 python詞雲製作出現cannot open resource錯誤解決方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章