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://amueller.github.io/word_cloud/auto_examples/emoji.html

PIL:

该Image模块提供了一个具有相同名称的类,用于表示PIL图像。该模块还提供了许多工厂功能,包括从文件加载图像和创建新图像的功能。

使用教程:https://pillow.readthedocs.io/en/latest/reference/Image.html#module-PIL.Image

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181126G00AWA00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券