目录

一、准备工作

二、代码实操

简介

导入相应模块

结巴分词

设置停用词

注:停用词文档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) #保存图片

结果如下:

 

看到最大的是:朋友、狗子、难过、学习等,这几个词还是非常符合我的上半年的生活的。

希望大家继续开开心心,认认真真生活。