1. 程式人生 > >易烊千璽歌曲詞雲

易烊千璽歌曲詞雲

今天嘗試做了用wordcloud模組來生成詞雲,我找了一些易烊千璽唱過的歌來進行處理,先看一下效果圖:

 

首先要進行wordcloud的安裝,作為一個新手這個安裝我花了很長時間,直接pip安裝會報錯,

我的解決方法是訪問下面的網址,根據你的電腦和py版本下載對應的whl檔案

https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud

下載完成後,把whl檔案放在pip路徑下,輸入下面的程式碼,記住程式碼的whl檔名一定是適合你的檔名,然後

pip install wordcloud-1.5.0-cp35-cp35m-win_amd64.whl

執行成功後再用一樣的方法安裝下面的幾個模組

 

全部安裝完畢後就可以開始敲程式碼了。
先要確認做成詞雲的文字,我是直接在網上找的易烊千璽唱過的歌。然後找一張想要的圖片,讓詞雲以圖片為背景輸出
程式碼如下:
#匯入庫
import matplotlib.pyplot as plt
from wordcloud import WordCloud,ImageColorGenerator
from scipy.misc import imread

進行中文編碼時我之前用utf-8報錯就改用gbk了,如果出現同樣的問題可以嘗試用gbk

預設背景圖為長方形的,效果如下:

 1 #1.讀入txt文字資料
 2 text = open('
yang.txt','r',encoding='gbk').read() 3 print(text) 4 #讀取背景圖 5 coloring = imread('易烊千璽.jpg') 6 #生成詞雲圖 7 wc = WordCloud( 8 #設定字型,不指定會出現亂碼 9 font_path='C:\Windows\Fonts\simkai.ttf', 10 #設定背景色 11 background_color = 'white', 12 #設定字型大小 13 max_font_size=50, 14 min_font_size=10,
15 ).generate(text)#把文字新增進去 16 #儲存詞雲 17 wc.to_file('wordcloud.png') 18 #顯示詞雲 19 plt.figure('yang') 20 #以圖片的形式顯示詞雲 21 plt.imshow(wc) 22 #關閉影象座標系 23 plt.axis("off") 24 plt.show()

  

給詞雲加上背景圖並按照背景顏色輸出:

 1 #讀入txt文字資料
 2 text = open('yang.txt','r',encoding='gbk').read()
 3 print(text)
 4 #讀取背景圖
 5 coloring = imread('易烊千璽.jpg')
 6 #生成詞雲圖
 7 wc = WordCloud(
 8     #設定字型,不指定會出現亂碼
 9     font_path='C:\Windows\Fonts\simkai.ttf',
10     #設定背景色
11     background_color = 'white',
12     #設定字型大小
13     max_font_size=50,
14     min_font_size=10,
15     mask =coloring#設定形狀
16 ).generate(text)#把文字新增進去
17 image_colors = ImageColorGenerator(coloring)#引入圖片的顏色
18 #儲存詞雲
19 # wc.to_file('wordcloud.png')
20 new_wc = wc.recolor(color_func=image_colors)
21 new_wc.to_file('wordcloud2.png')#儲存圖片色
22 #顯示詞雲
23 plt.figure('yang')
24 #以圖片的形式顯示詞雲
25 # plt.imshow(wc)
26 plt.imshow(new_wc)
27 #關閉影象座標系
28 plt.axis("off")
29 plt.show()

  

 

上面是完整程式碼,有興趣的可以嘗試做一下~