1. 程式人生 > 其它 >python資料視覺化初步-詞雲實踐

python資料視覺化初步-詞雲實踐

背景

今天學習了詞語的使用 藉機研究了資料視覺化

資料視覺化

在大資料分析工具和軟體中提到的資料視覺化,就是利用運用計算機圖形學、影象、人機互動等技術,將採集或模擬的資料對映為可識別的圖形、影象。

1. 什麼是詞雲

​ “詞雲”就是對網路文字中出現頻率較高的“關鍵詞”予以視覺上的突出,形成“關鍵詞雲層”或“關鍵詞渲染”,從而過濾掉大量的文字資訊,一眼掃過文字就可以領略文字的主旨。

​ 詞雲”就是資料視覺化的一種形式。給出一段文字的關鍵詞,根據關鍵詞的出現頻率而生成的一幅影象,人們只要掃一眼就能夠明白文章主旨。

2. 詞雲的生成

工具:

  1. matplotlib matplotlib
    ,python 繪相簿,最終詞雲的繪製需要用到它。
  2. jieba jieba,最開源中文分詞工具。他最主要的兩個功能是分詞和關鍵詞的抽取。在詞雲的生成過程中都需要用到。
  3. wordcloud wordcloud是一個詞雲生成器,只要進行相關的配置就能生成相應的詞雲。

實現過程

實現的過程簡單來講,兩步走,1. 提取關鍵詞,2. 生成詞雲。

Demo : 解析愛在遙遠的星空下

在電腦中發現一個text文件 《愛在遙遠的星空下》[作者]雪透 TXT下載
嘗試做了解析

原圖

碼雲

分詞沒有特別設的 所以出現最多的是男女主名字

程式示例

from wordcloud import WordCloud  
import jieba  
import PIL  
import matplotlib.pyplot as plt  
import numpy as np  
  
  
def wordcloudplot(txt):  
    font = r'cn.ttf'
    demo_mask = np.array(PIL.Image.open('test2.png'))
    wordcloud = WordCloud(font_path=font,  
                          background_color="white",  
                          margin=5, width=1800, height=800, mask=demo_mask, max_words=2000, max_font_size=60,  
                          random_state=42)  
    wordcloud = wordcloud.generate(txt)  
    wordcloud.to_file('t2.jpg')
    plt.imshow(wordcloud)  
    plt.axis("off")  
    plt.show()  
  
  
def main():  
    a = []  
    f = open(r'book.txt', 'r',encoding='utf-8').read()
    words = list(jieba.cut(f))  
    for word in words:  
        if len(word) > 1:  
            a.append(word)  
    txt = r' '.join(a)  
    wordcloudplot(txt)  
  
  
if __name__ == '__main__':  
    main()  

結論

這是一個簡單的資料視覺化 分詞決定了統計結果