Python WordCloud 文本分析 生成词云图
生活随笔
收集整理的這篇文章主要介紹了
Python WordCloud 文本分析 生成词云图
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 環境準備
- Code
- 結果文件
- Links
環境準備
-
Python, pip安裝配置;
-
安裝依賴的包(使用-i url指定要使用的鏡像源,加快下載速度)
如果下載速度太慢,加參數-i https://pypi.tuna.tsinghua.edu.cn/simple使用國內鏡像下載即可。
- 文件準備:
- 要分析的文本文件(當然也可以在代碼中直接寫字符串)。
- 中文字體文件(必須設置,否則中文詞云圖會顯示小方塊樣式的亂碼)
可以在Windows系統中搜索.ttf結尾的,便是字體文件,我選的是simfang.ttf。 - 背景文件
默認會生成矩形圖片(文字為彩色),如果想生成指定樣式的詞云(包括重設顏色),可以通過mask設置背景。
我下載了:https://tse2-mm.cn.bing.net/th/id/OIP.D_Gm8IGCvkqmOgtU2hueVwHaHS?pid=Api&rs=1
Code
注意相對路徑和絕對路徑。
如果使用的相對路徑加載文件,執行該py腳本的時候,應該先cd到該腳本所在目錄,然后:
python test-wordcloud.pytest-wordcloud.py
from wordcloud import WordCloud, ImageColorGenerator, STOPWORDS import matplotlib.pyplot as plt import scipy.misc as imread import jieba# 要分析的文本文件的路徑 text_file_paths = "余華-活著.txt" # 自定義詞云背景圖片的路徑(可不設置) mask_file_path = "bg.jpg" # 中文字體路徑 font_path = "C:\Windows\WinSxS\amd64_microsoft-windows-font-truetype-simfang_31bf3856ad364e35_10.0.18362.1_none_5a7f93f39ed619f0\simfang.ttf" # 要生成的結果路徑 result_file_path = "result.jpg"mask_img = plt.imread(mask_file_path)with open(text_file_paths, "r", encoding="UTF-8") as f:text = f.read()wordlist_after_jieba = jieba.cut(text, cut_all=True) wl_space_split = " ".join(wordlist_after_jieba)wc = WordCloud(background_color="white",font_path=font_path,# mask=mask_img, # 是否自己指定的背景圖片prefer_horizontal=0.9, # 詞語水平展示的比例width=500,height=300,scale=10,max_words=500,relative_scaling=0.5,stopwords=STOPWORDS,max_font_size=70,collocations=False,min_word_length=2, ) wc.generate(wl_space_split)# 自定義圖片背景形狀、顏色 # image_colors = ImageColorGenerator(mask_img) # wc.recolor(color_func=image_colors)# 寫入到圖片文件中 wc.to_file(result_file_path)# 顯示圖片 plt.imshow(wc) plt.axis("off") plt.show()結果文件
不配置中文字體文件,出現小方塊亂碼:
配置中文字體后:
自己指定背景圖片后(該圖片的寬高會覆蓋我們的給詞云的width height配置):
自己指定圖片的顏色方案:
Links
- WordCloud 參數詳細配置及釋義
總結
以上是生活随笔為你收集整理的Python WordCloud 文本分析 生成词云图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Baker
- 下一篇: 公众号模板消息 php,PHP实现发送模