python資料視覺化初步-詞雲實踐
阿新 • • 發佈:2021-10-09
背景
今天學習了詞語的使用 藉機研究了資料視覺化
資料視覺化
在大資料分析工具和軟體中提到的資料視覺化,就是利用運用計算機圖形學、影象、人機互動等技術,將採集或模擬的資料對映為可識別的圖形、影象。
1. 什麼是詞雲
“詞雲”就是對網路文字中出現頻率較高的“關鍵詞”予以視覺上的突出,形成“關鍵詞雲層”或“關鍵詞渲染”,從而過濾掉大量的文字資訊,一眼掃過文字就可以領略文字的主旨。
詞雲”就是資料視覺化的一種形式。給出一段文字的關鍵詞,根據關鍵詞的出現頻率而生成的一幅影象,人們只要掃一眼就能夠明白文章主旨。
2. 詞雲的生成
工具:
- matplotlib matplotlib
- jieba jieba,最開源中文分詞工具。他最主要的兩個功能是分詞和關鍵詞的抽取。在詞雲的生成過程中都需要用到。
- 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()
結論
這是一個簡單的資料視覺化 分詞決定了統計結果