1.前言
因为工作上每周都会写周报,最新突发奇想,打算做个词云看看自己的工作都干了些啥,有哪些关键字。
用到了两个库:jieba和WordCloud。
首先将工作内容整理成 txt 文档,再进行下一步操作。
jieba是一个中文分词的库,它可以将句子自动分解成词。
WordCloud来制作词云。
2.代码
#!/usr/bin/env python
# coding: utf-8
import jieba
from wordcloud import WordCloud
text = open(r'工作内容.txt', encoding="UTF-8").read()
cut_text = jieba.cut(text)
result = " ".join(cut_text)
wc = WordCloud(
background_color='white',
width=500,
height=350,
max_font_size=50,
min_font_size=10,
mode='RGBA',
)
wc.generate(result)
wc.to_file(r"wordcloud.png")
很快就输出词云图
但一看,只有英文可以正常输出,中文无法输出。
3.完善
于是查了些资料,WordCloud默认不支持中文,需要指定的字体才可以正常输出正文。
可以去网上下载字体文件,也可以用电脑自带的字体文件,指定其路径给WordCloud就可以了。
这里用电脑自带的字体文件,在这个目录下:C:\Windows\Fonts
选择你喜欢的一个字体,复制粘贴到指定的目录下,就变成了一个TTC为后缀的文件。
在WordCloud里加上这行指定字体路径的代码:font_path=r"MSYHBD.TTC",就可以了。
成功输出:
4.完整代码
#!/usr/bin/env python
# coding: utf-8
import jieba
from wordcloud import WordCloud
text = open(r'工作内容.txt', encoding="UTF-8").read()
cut_text = jieba.cut(text)
result = " ".join(cut_text)
wc = WordCloud(
font_path=r"MSYHBD.TTC",
background_color='white',
width=500,
height=350,
max_font_size=50,
min_font_size=10,
mode='RGBA',
)
wc.generate(result)
wc.to_file(r"wordcloud.png")