2020年上半年过去了,来给日记画个词云图呀~
目录
注:停用词文档stopwords.txt我已经上传到资源里面了。
作为一个常年写日记的人,从笔记本、手机、电脑各处都要写呀写。
今天一看,7月份了,今年的上半年结束了,突发奇想对我上半年的日记来做个词云图吧~~~
废话不多说,直接来。
一、准备工作
把日记word文档转换为txt文本文档,以备之后进行分析。
直接打开word文档,点击“文件”“另存为”,类型选择“txt”即可。
寻找一张作为词云图背景的图片。图片需要基本轮廓。通常下载的图片为矩形,进行抠图处理即可。
二、代码实操
简介
'''
图形可视化:读入中文文档,进行分词,剔除停用词,画出词云图。
filename:可视化的文档
backphoto:词云图背景图片
outimg:输出的词云图图片
'''
导入相应模块
import jieba #中文分词
import matplotlib.pyplot as plt #画图
from wordcloud import WordCloud,STOPWORDS,ImageColorGenerator #画词云图
结巴分词
filename="2020年的日记.txt"
backphoto="1.jpg"
outimg='2020年.png'
###分词可视化
with open(filename,encoding="gb18030") as f:
mytext=f.read() #读入文档
mytext=" ".join(jieba.cut(mytext)) #加入空格,进行分词
#print(mytext)
设置停用词
注:停用词文档stopwords.txt我已经上传到资源里面了。
stopwords=set(STOPWORDS) #设置停用词
ss=["记事","东西","真的"]
for unitss in ss:
stopwords.add(unitss) #添加停用词来自上述列表
with open('stopwords.txt',encoding='utf8') as f:
stop_words=[i.strip() for i in f.readlines()]
for word in stop_words:
stopwords.add(word) #添加停用词来自文档stopwords.txt
画图
photo_coloring=plt.imread(backphoto) #设置背景图片
w=WordCloud( #开始画词云图
font_path="msyh.ttc",#设置输出词云的字体是微软雅黑
width=800,height=400, #设置慈云图的宽度为800,高度为400
background_color='white', #设置词云图背景颜色为白色
max_words=1000, #最大词量1000
min_font_size=6, #最小字体大小为6
scale=1.5, #设置1.5倍比例放大词云图
stopwords=stopwords, #设置停用词
mask=photo_coloring #设置词云形状
)
wordcloud=w.generate(mytext) #加载词云文件
plt.figure(figsize=(40,20)) #图片大小设置
plt.imshow(wordcloud,interpolation='bilinear')
plt.axis('off')#设置词云图无坐标轴
plt.show() #显示词云图
w.to_file(outimg) #保存图片
结果如下:
看到最大的是:朋友、狗子、难过、学习等,这几个词还是非常符合我的上半年的生活的。
希望大家继续开开心心,认认真真生活。