教你如何製作告白詞雲,從此不做單身狗!
阿新 • • 發佈:2018-12-26
詞雲
在這個網路發達的時代,有時候你在網上看到各式各樣的詞雲,是不是感到很漂亮,是不是也想自己動手做一個?如果答案是肯定的,那就開始吧!
首先我們應該知道的一點是,用來製作文字的詞雲,出現的文字越多,顯示越明顯。
使用前準備
python3
pip install wordcloud pip install matplotlib pip install jieba
核心程式碼片段
預設效果
from wordcloud import WordCloud import matplotlib.pyplot as plt # 繪製圖像的模組 import jieba # jieba分詞 # 檔案讀地址 path_txt = "C:/Users/admin/Documents/GitHub/wordcloud/santi.txt" f = open(path_txt, 'r', encoding='UTF-8').read()# 結巴分詞,生成字串,wordcloud無法直接生成正確的中文詞雲 cut_text = " ".join(jieba.cut(f))wordcloud = WordCloud( # 設定字型,不然會出現口字亂碼,文字的路徑是電腦的字型一般路徑,可以換成別的 font_path="C:/Windows/Fonts/simfang.ttf", # 設定了背景,寬高 background_color="white", width=1000, height=880).generate(cut_text)plt.imshow(wordcloud, interpolation="bilinear")plt.axis("off")plt.show()
預設效果圖:
圖片解析核心程式碼
from PIL import Imagefrom wordcloud import WordCloud, ImageColorGenerator import matplotlib.pyplot as plt import numpy as np import jieba # 根據不同圖片生成文字雲 def get_world_cloud(): # 文字地址 path_txt = "C:/Users/admin/Documents/GitHub/wordcloud/santi.txt" # 圖片地址 path_img = "C:/Users/admin/Documents/GitHub/wordcloud/1.jpg" f = open(path_txt, 'r', encoding='UTF-8').read() background_image = np.array(Image.open(path_img)) # 結巴分詞,生成字串,如果不通過分詞,無法直接生成正確的中文詞雲,感興趣的朋友可以去查一下,有多種分詞模式 # Python join() 方法用於將序列中的元素以指定的字元連線生成一個新的字串。 cut_text = " ".join(jieba.cut(f)) wordcloud = WordCloud( # 設定字型,不然會出現口字亂碼,文字的路徑是電腦的字型一般路徑,可以換成別的 font_path="C:/Windows/Fonts/simfang.ttf", background_color="white", # mask引數=圖片背景,必須要寫上,另外有mask引數再設定寬高是無效的 mask=background_image).generate(cut_text) # 生成顏色值 image_colors = ImageColorGenerator(background_image) # 下面程式碼表示顯示圖片 plt.imshow(wordcloud.recolor(color_func=image_colors), interpolation="bilinear") plt.axis("off") plt.show()if __name__ == '__main__': get_world_cloud()
圖片解析效果圖:
以上就是製作詞雲的步驟和思路,由於小編比較懶,所以沒有過多的解釋了。
喜歡本文的小夥伴或者覺得本文對你有幫助可以點播關注或轉發。
最後
小編精心推薦一個學習Python的好去處,如果有想學Python的小夥伴可以加群959997225,沒有裝Python環境的小夥伴也可以聯絡小編,小編這裡有免費的環境提供給大家!
本文來自網路,如有侵權,請聯絡小編刪除