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() #打开所有图片
文章出处登录后可见!
已经登录?立即刷新