數據統計可視化——python生成詞雲

2020-12-14 戲說編程

詞雲又稱文字雲,近幾年非常流行。你要說它為什麼會變火呢?有的人會認為它是文本挖掘的可視化、有的人 會給一些用戶打上標籤、有的人則只是想玩玩這酷炫的詞彙……但詞雲產生的視覺效果才是讓人更著迷的地方。

詞雲主要是對文本中出現頻率較高的「關鍵詞」進行視覺上的突出,讓人更直觀地看出文本的重點。本文針對上一篇文章如何統計文章詞頻,從而更快了解一篇文章所獲得的中文詞頻統計數據進行詞雲可視化展示,更加清晰的看到文章關鍵詞的權重。

詞雲庫WordCloud

wordcloud庫,可以說是python非常優秀的詞雲展示第三方庫。詞雲以詞語為基本單位更加直觀和藝術的展示文本而且使用簡單,內容豐富,先看看它生成的詞雲是什麼樣的。

生成詞雲

該庫主要有以下函數

fit_words(frequencies) 該函數根據詞頻生成詞雲generate_from_frequencies(frequencies[, ……]) 根據詞頻生成詞generate(text) 根據文本生成詞雲process_text(text) 將長文本分詞並去除屏蔽詞(此處指英語,中文分詞還是需要自己用別的庫先行實現,使用上面的 fit_words(frequencies) )recolor([random_state, color_func, colormap]) 對現有輸出重新著色。重新上色會比重新生成整個詞雲快很多to_array() 轉化為 numpy arrayto_file(filename) 輸出到文件wordcloud的參數主要有:

font_path: 設置字體路徑,因為對中文處理的時候需要指定字體;

width,height:輸出畫布的寬度和高度;

mask:制定圖片繪製詞雲,如果參數為空,則使用二維遮罩繪製詞雲。如果 mask 非空,設置的寬高值將被忽略,遮罩形狀被 mask 取代。

統計詞頻詞雲

根據上面描述的wordcloud庫,就可以用來做詞雲,這裡用python3.6進行編寫。

第一步先定義一個詞頻背景圖,作為詞雲的載體。用來作為wordcloud中mask參數。mask = np.array(Image.open('u0.jpg'))。u0.jpg如圖所示

第二步聲明創建wordcloud對象,裡面傳入參數font_path,mask,max_words,max_font_size。分別代表字體格式路徑,繪製詞雲的背景圖,詞雲最多顯示詞數,字體最大值。

聲明wordcloud對象

第三步調用generate_from_frequencies方法,參數為上一篇中統計詞頻的字典count。

第四步調用to_file方法保存生成的詞雲圖片

保存詞雲

最後效果

還可以將u0.jpg換成更加個性的圖片,生成更加好看的詞雲形狀,比如下圖

相關焦點

  • 數據可視化 | 用Python生成個性化詞雲
    接下來將介紹如何使用python生成個性化詞雲。最關鍵的使用WordCloud模塊,要使用WordCloud模塊,需要先進行安裝。首先導入必要的包和數據集。接下來將使用自定義形狀,而不是矩形形狀,可以導入一張圖片作為詞雲的形狀。
  • 一種用Python生成詞雲
    一種用Python生成詞雲我們在閱讀一篇很長的文章時,總先看看文章的關鍵詞來獲知文章的大概內容。今天我們就來製作一個詞雲程序,將文章中出現次數較多的詞語提取出來,生成一張詞雲圖。詞雲圖的生成原理:程序會將這篇文章中的所有詞組識別出來,然後統計每個詞組出現的次數,出現次數越多,詞組的字號越大,最後把所有詞組拼合成一張圖像,也就是我們想要的詞雲圖。我們需要把這篇文章儲存在一個txt文檔裡,把這個文檔和程序放在同一個文件夾下。
  • 用 Python 實現詞雲可視化
    ,正所謂一圖勝過千言萬語,詞雲在之前的項目中我也有過很多的使用,可能對於我來說,一種很好的自我介紹方式就是詞雲吧,就像下面這樣的:個人覺還是會比枯燥的文字語言描述性的介紹會更吸引人一點吧。今天不是說要怎麼用詞雲來做個人介紹,而是對工作中使用到比較多的詞雲計較做了一下總結,主要是包括三個方面:1、諸如上面的簡單形式矩形詞雲2、基於背景圖片數據來構建詞雲數據3、某些場景下不想使用類似上面的默認的字體顏色,這裡可以自定義詞雲的字體顏色接下來對上面三種類型的詞雲可視化方法進行demo實現與展示,具體如下,這裡我們使用到的測試數據如下
  • 使用python生成詞雲
    今天和大家分享一下如何使用python生成詞雲,在製作詞雲之前,我們首先需要一個用於製作詞雲的數據和形狀的模板,本篇文章以長安十二時辰的txt文件和中國地圖為例。具體代碼如下:#打開文件txt=open(".
  • 使用R語言進行分詞並生成詞雲
    分詞是文本分析中的基礎內容,而詞雲則是基於分詞結果的一種文本可視化方式。本文將介紹基於jiebaR包的基本分詞操作,以及基於wordcloud2包的詞雲製作方法。segment(sentence, engine4)2 文本分詞及詞雲預處理在學習了分詞的基本操作後,我們可以通過對文本分詞並進行詞頻統計來繪製詞雲。
  • 拿來就用能的Python詞雲圖代碼|wordcloud生成詞雲詳解
    詞雲也叫文字雲,是一種可視化的結果呈現,常用在爬蟲數據分析中,原理就是統計文本中高頻出現的詞,過濾掉某些幹擾詞,將結果生成一張圖片,直觀的獲取數據的重點信息。今天,我們就來學習一下Python生成詞雲的常用庫「wordcloud」。
  • Python爬取腳本之家生成詞雲
    但是如何去實現詞雲呢?理論上,通過中文分詞技術可以得到高頻詞列表,通過詞雲圖的方式對排名靠前的高頻詞進行呈現,將出現頻次越高的詞語,設置更大的字號。這樣的可視化展示方式,不僅直觀,而且美觀。那麼如何快速生成一個詞雲呢?
  • Python如何生成詞雲(詳解)
    下面我就帶大家一起來學習怎樣去生成詞雲!時會提示錯誤,如下:我的解決方法是直接訪問下面的網址,根據你的電腦和py版本下載對應的whl文件https://www.lfd.uci.edu/~gohlke/pyth
  • 【Python教程】用Python進行數據可視化
    在跨平臺和互動式環境中生成高質量數據時,matplotlib 會很有幫助。也可以用作製作動畫。Seaborn:該 Python 庫能夠創建富含信息量和美觀的統計圖形。Seaborn 基於 matplotlib,具有多種特性,比如內置主題、調色板、可以可視化單變量數據、雙變量數據,線性回歸數據和數據矩陣以及統計型時序數據等,能讓我們創建複雜的可視化圖形。
  • 軟體推薦 7款免費的詞雲可視化工具,圖表控沒有理由拒絕
    > 作者:張楊進 在現實生活中,很多人想做詞雲,也有了關鍵詞的數據但自己又不會做詞雲可怎麼辦,看過來吧,我給大家推薦幾款詞雲製作工具,都是我之前或現在在研究的工具,讓你瞬間呈現美觀、酷炫的詞雲可視化。我們先來看看國外的詞雲製作工具:體驗詞云:http://www.wordle.net/這些年比較火的一款詞雲軟體,Wordle是一個用於從文本生成詞雲圖而提供的遊戲工具,詞雲圖會更加突出話題並頻繁地出現在源文本,它的優點是可以快速的分析文本或網站的詞頻,並以多種多種風格展示,且支持文字字體選擇和用戶自定義顏色。
  • python生成詞雲時,文件名與庫名重出現的錯誤提示
    近日在vs code做一個python詞雲的練習時,編譯時出現:AttributeError: module 'wordcloud' has no attribute 'WordCloud'的提示,python3.8環境下,已經安排wordcloud
  • 彈幕、詞雲、面積圖,最全文字可視化教程來啦!
    在課代表以前的這篇《盤點:2019年最好看的數據可視化作品都在這》盤點中,就有一個單元主題叫「字太多還是可以很美」,呈現了一些優秀的文字可視化作品:需要注意的是,數字代表的是面積,所以作圖時需要給數據開根號後,作為邊長來可視化。
  • Python數據可視化教程之基礎篇
    經過學習之後,我總結了利用python實現可視化的三個步驟:確定問題,選擇圖形轉換數據,應用函數參數設置,一目了然python中最基本的作圖庫就是matplotlib,是一個最基礎的Python可視化庫,一般都是從matplotlib上手Python數據可視化,
  • Python數據可視化—Seaborn
    今天為大家分享的小技巧是python的可視化畫圖庫Seaborn。相信很多小俠客用過matplotlib、pyecharts等可視化庫,可是為什麼還要介紹Seaborn呢?因為它修復了上述兩個庫的一些缺點,比如Seaborn提供了大量的高級接口和自定義主題,而matplotlib沒有這些接口使得很難確定哪些設置來自定義圖表。
  • Python爬取中國各省疫情確診人員數據生成可視化中國地圖界面
    大家好,接下來我們用python爬蟲技術爬取中國各省疫情確診人員數據,得到數據後自動生成中國地圖可視化界面。可視化界面運用pyecharts模塊、selenium中的webdriver第一:首先分析要爬取的網頁(百家號不可粘貼具體地址,見圖吧)爬取思路:通過分析網頁的原始碼,發現此網頁是動態生成的數據,所以這裡用webdriver來自動化地取動態網頁數據,獲取真正的網頁原始碼。然後通過正則來取我們需要的數據,即中國各省確診人數和省的名稱。
  • python繪圖之美:seaborn統計數據可視化
    它提供了一個高級界面,用於繪製具有吸引力和信息豐富的統計圖形。Seaborn旨在使可視化成為探索和理解數據的核心部分。它的面向數據集的繪圖函數對包含整個數據集的數據流和數組進行操作,並在內部執行必要的語義映射和統計聚合以生成信息圖。
  • 用Python進行數據可視化的10種方法
    數據科學家並不遜色於藝術家。他們用數據可視化的方式繪畫,試圖展現數據內隱藏的模式或表達對數據的見解。更有趣的是,一旦接觸到任何可視化的內容、數據時,人類會有更強烈的知覺、認知和交流。 在數據科學中,有多種工具可以進行可視化。在本文中,我展示了使用Python來實現的各種可視化圖表。 怎樣才能在Python中實現可視化?
  • 使用Jieba庫分分鐘實現高端大氣的詞雲
    什麼是詞雲大數據時代,相信詞雲圖大家都不陌生了。詞雲圖,也叫文字雲,是對文本中出現頻率較高的「關鍵詞」予以視覺化的展現,詞雲圖過濾掉大量的低頻低質的文本信息,使得瀏覽者只要一眼掃過文本就可領略文本的主旨。
  • 手把手教你怎麼做一個詞雲
    利用WordCloud對象的to_file()方法生成詞雲。接下來,按照上面說的三個步驟來生成詞雲。首先,根據預先準備的字體和圖片創建詞雲對象,因為wordcloud庫中只包含固定的詞雲形狀,若希望生成自定義形狀的詞雲,則需要用到matplotlib.image中的imread()函數,該函數需要接收兩個參數:第一個參數為圖片名,第2個參數為讀取圖片的方式,其值為1時代表讀入彩色圖像。
  • 推薦: 一本「高顏值」的Python語言數據可視化圖書
    《python數據可視化之美》主要介紹如何使用python中的matplotlib、seaborn、plotnine、basemap等包繪製專業圖表。本書先介紹了python語言編程基礎知識,以及使用numpy和pandas兩個包的數據操作方法;再對比了matplotlib、seaborn和plotnine三個包的圖形語法。