python数据可视化初步-词云实践

python数据可视化初步-词云实践

背景

今天学习了词语的使用 借机研究了数据可视化

数据可视化

在大数据分析工具和软件中提到的数据可视化,就是利用运用计算机图形学、图像、人机交互等技术,将采集或模拟的数据映射为可识别的图形、图像。

1. 什么是词云

​ “词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,一眼扫过文本就可以领略文本的主旨。

​ 词云”就是数据可视化的一种形式。给出一段文本的关键词,根据关键词的出现频率而生成的一幅图像,人们只要扫一眼就能够明白文章主旨。

2. 词云的生成

工具:

  1. matplotlib matplotlib,python 绘图库,最终词云的绘制需要用到它。
  2. jieba jieba,最开源中文分词工具。他最主要的两个功能是分词和关键词的抽取。在词云的生成过程中都需要用到。
  3. wordcloud wordcloud是一个词云生成器,只要进行相关的配置就能生成相应的词云。

实现过程

实现的过程简单来讲,两步走,1. 提取关键词,2. 生成词云。

Demo : 解析爱在遥远的星空下

在电脑中发现一个text文档 《爱在遥远的星空下》[作者]雪透 TXT下载
尝试做了解析

原图
python数据可视化初步-词云实践
码云
python数据可视化初步-词云实践

分词没有特别设的 所以出现最多的是男女主名字

程序示例

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()  

结论

这是一个简单的数据可视化 分词决定了统计结果

上一篇:python批量删除文件或文件夹


下一篇:368. 最大整除子集