易烊千璽歌曲詞雲
阿新 • • 發佈:2018-12-27
今天嘗試做了用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()
上面是完整程式碼,有興趣的可以嘗試做一下~