站点图标 AI技术聚合

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

Python绘制词汇云

词云,一种像云一样的文字彩色图形,用于显示大量的文本数据。通常用于描述网站上的关键字元数据(标签),或可视化自由格式的文本。每个单词的重要性以字体大小或颜色显示。 “词云”就是将网络文本中频繁出现的“关键词”在视觉上突出显示,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,让网络浏览器只需要到文中一目了然就能掌握文中的要旨。

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() #打开所有图片

文章出处登录后可见!

已经登录?立即刷新
退出移动版