ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-10-09 14:02:24  阅读:324  来源: 互联网

标签:python 关键词 wordcloud 可视化 import 词云 txt


背景

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

数据可视化

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

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

结论

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

标签:python,关键词,wordcloud,可视化,import,词云,txt
来源: https://www.cnblogs.com/wnw-nicholas/p/15385388.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有