Python词云可视化

截屏2020-09-26 23.32.11

模块

需要使用到的 module

  • numpy
  • matplotlib
  • pillow
  • wordcloud (词云)
  • imageio (读取本地图片)
  • jieba (炸词)
  • snownlp (文本情感分析语料库)
  • itchat (网页微信)

安装

pip install numpy matplotlib pillow wordcloud imageio jieba snownlp itchat -i https://pypi.tuna.tsinghua.edu.cn/simple

字体库

macOS 可以通过 字体册 App 打开字体路径,加载到词云中。

Demo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# -*- coding: utf-8 -*-
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba

# 打开文本
text = open('text.txt').read()

# 中文分词
text = ' '.join(jieba.cut(text))
print(text[:100])

# 生成对象
#mask = np.array(Image.open("mask.png")) # 词云形状图
wc = WordCloud(font_path=' /Users/ashin/Library/Fonts/Alibaba-PuHuiTi-Medium.ttf', width=800, height=600, mode='RGBA', background_color=None).generate(text)


# 从图片中生成颜色
image_colors = ImageColorGenerator(mask)
wc.recolor(color_func=image_colors)


# 显示词云
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()

# 保存到文件
wc.to_file('wordcloud.png')

参考