词云图制作(wordcloud & pyecharts)

现在,网上很多可视化的方法,有一种就是词云图。

词云图,也叫文字云,是对文本中出现频率较高的“关键词”予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息,方便领略文本的主旨。

词云图的原理整体来说比较简单,但是效果还是蛮不错的,可以从纷繁复杂的信息中找到最关键的信息~感觉可以用来进行政策分析、新闻舆情的分析~

主要研究的是用python和第三方包的方式来进行制作~当然,网上也有一些在线的网站可以支持,但是直接写好脚本调用,就不用自己一个一个导入啦,批量生成最近政策的关键图像,也是蛮不错的哟~

之前接触词云图一直用的是worldcloud这个包,最近又接触到了pyecharts,也可以进行词云图的制作。

wordcloud生成词云图

wordcloud 安装

直接使用pip安装wordcloud~因为涉及到要进行图片生成,所以,也要下载安装matplotlib。

pip install wordcloud
pip install matplotlib

wordcloud API

wordcloud 库把词云当作一个WordCloud对象来进行处理:

  • WordCloud([font_path, width, height, …]) - 进行词云图对象的创建和绘制
  • ImageColorGenerator(image[, default_color]) - 根据图片颜色生产词云绘制颜色
  • random_color_func([word, font_size, …]) - 随机生成词云绘制颜色
  • get_single_color_func(color) - 使用单色进行词云绘制

使用Wordcloud对象可以进行词云图的绘制,其中,可以设置图片的形状。

wordcloud使用

词云图生成准备

对于中文来说,和英文不太一样,英文本身使用单词的空格进行了天然的划分~所以,在进行词云图生成的时候,需要和英文一样对于中文进行分词的处理,也就是按照中文词语的意思进行词的划分~

目前,国内最常采用的中文分词工具是jieba包。

jieba分词包下载安装

pip install jieba

jieba分词包使用

使用jieba的方法进行文章分词,常用的是cut()和lcut(),可以根据需要进行选用。

  • jieba.cut() - 生成一个生成器,如果想要得到list,需要使用for循环得到
  • jieba.lcut() - 直接得到分词后的list
import jieba


text = '你想要分词的文本数据'

# jieba.cut() - 生成一个生成器,如果想要得到list,需要使用for循环得到
word_list1 = [word for word in jieba.cut(text)]

# jieba.lcut() - 直接得到分词后的list
word_list2 = jieba.lcut(text))

如果文本为从txt等文件中获得,则使用open()的方式进行文本获取,并且,使用re的函数来进行中文提取~

import jieba
import re

# 使用open()进行文件读取
text = [i.strip() for i in open('你的文件.txt').readlines()]

# cut_all = False - 表示使用精确模式进行拆分
# re.findall('[\u4e00-\u9fa5]', text) - 表示进行中文提取
word_list = []
for sentence in text:
    text = jieba.lcut(''.join(re.findall('[\u4e00-\u9fa5]', sentence)), cut_all = False)
    word_list.append(text)

停用词使用

 因为中文中有很多语气词和连接词&#

  • 14
    点赞
  • 133
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值