python matplotlib数据可视化——词汇云显示

Python绘制词汇云

python matplotlib数据可视化——词汇云显示_第1张图片

词汇云,由词汇组成类似云的彩色图形,用于展示大量文本数据。通常用于描述网站上的关键字元数据(标签),或可视化自由格式文本。 每个词的重要性以字体大小或颜色显示。“词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。

1.准备工作

  • 词汇云的背景图片,被分析词汇的文档
  • Python库: wordcolud文字云词库
         Jieba 中文分词库
         Numpy 数据处理库
         Matplotlib 数据绘制
         PIL 图片处理库

2.代码实现

导入库

import wordcloud  #词汇云库
from wordcloud import STOPWORDS  # 停止词
import jieba
import numpy as np  # 科学计算
import matplotlib  # 数据可视化
from matplotlib import pyplot as plt
from PIL import Image  # 图片处理

切割文本

# 读取文本
pythonInfo = open(r'aaa.txt', 
                  encoding='utf-8', errors='ignore').read()
# print(pythonInfo)
# 切割
pythonCut = jieba.cut(pythonInfo, cut_all=True)
pythonInfoList = ' '.join(pythonCut)  # 返回一个生成器对象
print(pythonInfoList)

设置图片参数

backgroud = np.array(Image.open('1.jpg'))  # 将图片格式化成RBG数组
myCloudword = wordcloud.WordCloud(font_path='simkai.ttf',  # 指定文体文件的路径,默认None
                                  width=400, height=200,
                                  mask=backgroud,  # 指定词云形状,默认为长方形
                                  scale=1,  # 比例
                                  max_words=200,  # 指定词云显示的最大单词数量,默认200
                                  min_font_size=4,  # 指定词云中字体的最小字号,默认4号(min_font_size=10)
                                  stopwords=STOPWORDS,  # 默认停止词 指定词云的排除词列表,即不显示的单词列表
                                  random_state=50,  # 随机角度
                                  background_color='white',  # 背景颜色
                                  max_font_size=100  # 指定词云中字体的最大字号,根据高度自动调节
                                  ).generate(pythonInfoList) #向WordCloud对象中加载文本txt

绘制图片显示

plt.imshow(myCloudword) #绘制图片
plt.show() #打开所有图片

你可能感兴趣的:(python,数据挖掘)