python词云图

python词云图


在这里插入图片描述
一、词云图
什么是词云图,词云图又叫文字云,是对文本数据中出现频率较高的关键词予以视觉上的突出,形成"关键词的渲染"就类似云一样的彩色图片,从而过滤掉大量的文本信息,,使人一眼就可以领略文本数据的主要表达意思。


二、开发环境
windows7+pycharm
需要python库:


matplotlib:
Matplotlib 是 Python 的一个绘图库
使用教程:http://codingpy.com/article/a-quick-intro-to-matplotlib/


jieba:
“结巴”中文分词:做最好的 Python 中文分词组件
使用教程:https://github.com/fxsjy/jieba


WorldCloud:
构建词云
使用教程:https://blog.csdn.net/FontThrone/article/details/72775865
官方文档:https://amueller.github.io/word_cloud/auto_examples/emoji.html


PIL:
该Image模块提供了一个具有相同名称的类,用于表示PIL图像。该模块还提供了许多工厂功能,包括从文件加载图像和创建新图像的功能。
安装教程:https://blog.csdn.net/dcz1994/article/details/71642979
使用教程:https://pillow.readthedocs.io/en/latest/reference/Image.html#module-PIL.Image
https://blog.csdn.net/u013180339/article/details/77363680


numpy:
NumPy 是一个运行速度非常快的数学库,主要用于数组计算
使用教程:http://www.runoob.com/numpy/numpy-tutorial.html


好了,以上就是我看的所有的资料,大家可以参考


三、构建图云
1.读取文图
首先打开文本,我打开的是前面python爬虫的一个小说的文本

text = open(r'元尊.txt', "r",encoding="utf-8").read()

2.结巴分词
利用jieba库进行分词处理

seg_list = jieba.cut(text,cut_all=False)#采用精确模式
result = "/".join(seg_list)

3.打开背景图
从文件加载图像,转化数组

wc = WordCloud(font_path=r"D:\weiruan.ttf", background_color='white',max_font_size=50,mask=graph)  # ,min_font_size=10)#,mode='RGBA',colormap='pink')
#generate(文本)从文本生成wordcloud。
wc.generate(result)

4.颜色生成器
基于彩色图像的颜色生成器。

image_color = ImageColorGenerator(graph)

5.着色
recolor([random_state,color_func,colormap]) 重新着色现有布局。

wc.recolor(color_func=image_color)

6.保存图片

wc.to_file("wordcloud1.png")

7.显示图片

 # 指定所绘图名称
plt.figure("词云图") 
 # 以图片的形式显示词云
plt.imshow(wc) 
# 关闭图像坐标系
plt.axis("off")  
plt.show()

8.代码:

import matplotlib.pyplot as plt  
import jieba  
from wordcloud import WordCloud,ImageColorGenerator   
from PIL import Image
import numpy as np
# 读入txt文本数据
text = open(r'元尊.txt', "r",encoding="utf-8").read()

# 结巴分词
seg_list = jieba.cut(text,cut_all=False)
result = "/".join(seg_list)  

image = Image.open(r'C:\Users\Administrator\Desktop\timg (1).jpg')
graph = np.array(image)

#生成词云图
wc = WordCloud(font_path=r"D:\weiruan.ttf", background_color='white',max_font_size=50,mask=graph)  # ,min_font_size=10)#,mode='RGBA',colormap='pink')
#generate(文本)从文本生成wordcloud。
wc.generate(result)
#从背景图片生成颜色值
image_color = ImageColorGenerator(graph)
wc.recolor(color_func=image_color)
wc.to_file("wordcloud1.png")
#显示图片
plt.figure("词云图")  # 指定所绘图名称
plt.imshow(wc)  # 以图片的形式显示词云
plt.axis("off")  # 关闭图像坐标系
plt.show()


欢迎关注微信公众号技术修炼之路,我们一起成长,一起进步


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值