本文目錄一覽:
Python 畫好看的雲詞圖
詞雲圖是數據分析中比較常見的一種可視化手段。詞雲圖,也叫文字雲,是對文本中出現頻率較高的 關鍵詞 予以視覺化的展現,出現越多的詞,在詞雲圖中展示越顯眼。詞雲圖過濾掉大量低頻低質的文本信息,因此只要一眼掃過文本就可 領略文章主旨 。
例如?上面這張圖,看一眼就知道肯定是新華網的新聞。
那生成一張詞雲圖的主要步驟有哪些?這裡使用 Python 來實現,主要分三步:
首先是「結巴」中文分詞 jieba 的安裝。
對於英文文本,word_cloud 可以直接對文本源生成詞雲圖。但是對中文的支持沒有那麼給力,所以需要先使用 jieba 對中文文本進行分詞,把文章變成詞語,然後再生成詞雲圖。例如:
jieba.cut 分詞:方法接受三個輸入參數,sentence 需要分詞的字元串;cut_all 用來控制是否採用全模式;HMM 用來控制是否使用 HMM 模型。
jieba.cut_for_search 分詞:方法接受兩個參數,sentence 需要分詞的字元串;是否使用 HMM 模型。該方法適合用於搜索引擎構建倒排索引的分詞,粒度比較細。
jieba.analyse.textrank 使用 TextRank 演算法從句子中提取關鍵詞。
然後安裝 wordcloud 詞雲圖庫。
如果執行上面命令後,顯示 success,那麼恭喜你,安裝成功了。
我就遇到了 Failed building wheel for wordcloud 的錯誤。於是先安裝 xcode-select, 再安裝 wordcloud 即可(無需安裝 Xcode)。
wordcloud 庫把詞雲當作一個 WordCloud 對象,wordcloud.WordCloud() 代表一個文本對應的詞雲,可以根據文本中詞語出現的頻率等參數繪製詞雲,繪製詞雲的形狀、尺寸和顏色。
1、首先導入文本數據並進行簡單的文本處理
2、分詞
3、設置遮罩
注意:
1、默認字體不支持中文,如果需要顯示中文,需要設置中文字體,否則會亂碼。
2、設置遮罩時,會自動將圖片非白色部分填充,且圖片越清晰,運行速度越快
其中 WordCloud 是雲詞圖最重要的對象,其主要參數描述如下:
效果如下圖:
上小結是將文章中所有內容進行分詞,輸出了所有詞,但很多時候,我們有進一步的需求。例如:
1、只需要前 100 個關鍵詞就夠了。
2、不需要五顏六色的詞語,應與遮罩圖片顏色一致。
100個關鍵詞,我們在分詞時使用 TextRank 演算法從句子中提取關鍵詞。
遮罩顏色可通過設置 WordCloud 的 color_func 屬性。
最終效果如下:
python如何做詞雲 一步一步教你如何做
如果你之前沒有編程基礎,沒關係。希望你不要限於瀏覽,而是親自動手嘗試一番。到完成的那一步,你不僅可以做出第一張詞雲圖,而且這還將是你的第一個有用的編程作品。
1、請確保你的python環境沒有問題,用的開發工具是VsCode,首先你要在Python擴展中安裝python開發環境(當然,這不是為你的windows安裝python)。
2、那麼你還需要安裝所需要的第三方庫,那麼在VSCode中並沒有PyCharm那麼專業,這裡需要獲得你自己的Python腳本位置。
3、我們可以發現裡面有一個名為pip.exe文件,這個文件就是python官方給我們去安裝python第三方庫的一個程序,那麼我們可以在VsCode的終端中就可以去通過它,這也是我們為什麼要獲取python安裝位置的根本原因。
4、python做詞雲呢,需要導入的包有wordcloud和PIL,其中PIL(Python Image Library)是python平台圖像處理標準庫,功能是真的強大。首先需要讀取文件 。
5、如果python引入無誤,並代碼無誤,那麼會彈出你生成的圖片,該圖片會儲存在你的系統。
python如何生成詞雲圖
from wordcloud import WordCloud
import jieba
import numpy
import PIL.Image as Image
#1.將字元串切分
def chinese_jieba(text):
wordlist_jieba=jieba.cut(text)
space_wordlist=” “.join(wordlist_jieba)
return space_wordlist
with open(“test.txt” ,encoding=”utf-8″)as file:
text=file.read()
text=chinese_jieba(text)
#2.圖片遮罩層
mask_pic=numpy.array(Image.open(“china.jpg”))
#3.將參數mask設值為:mask_pic
wordcloud = WordCloud(font_path=”C:/Windows/Fonts/simfang.ttf”,mask=mask_pic).generate(text)
image=wordcloud.to_image()
image.show()
如圖所示
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/282594.html