去评论
dz插件网

张少涵教程:Python词云制作——以HOH言论为例

镖师
2023/12/26 15:45:05


进一步屏蔽了单个字,左下角有个大大的“反思



词云是对文本内容进行可视化呈现的一种方式,它会对文本中出现频率较高的词进行视觉上的突出, 词语出现的频率越高,字体就会越大,颜色也会越醒目。通过查看词云图,我们能快速获取文本中的主要内容。(摘抄自 https://cloud.tencent.com/developer/article/2160340)

1. 首先需要HOH的历史发言,使用爬虫可以得到。放入附件中了,需要的人可以自行下载。

2. 安装所需的pip包
  1. pip install wordcloud # 主包,会自动安装多个绘图所需的包pip install jieba # 汉字分词

3. 下载中文字体包
GitHub上已经有人提供了,https://raw.githubusercontent.com/StellarCN/scp_zh/master/fonts/SimHei.ttf,可以直接下载
可以使用wget等下载,如
  1. wget https://raw.githubusercontent.com/StellarCN/scp_zh/master/fonts/SimHei.ttf

4. 主程序
要注意文件的路径,HOH的废话太多了,有很多无意义的内容,所以使用了屏蔽词功能。
  1. import matplotlib.pyplot as pltimport jiebafrom wordcloud import WordCloud, STOPWORDSpath = r'./hoh.txt'# 读取文本文件with open(path, 'r', encoding='utf-8') as f:    text = f.read()# 使用jieba进行分词wordlist = jieba.cut(text, cut_all=False)wl = " ".join(wordlist)# 增加屏蔽词STOPWORDS.update(['吧', '是', '我', '了', '有', '都', '不', '就', '还', '没', '的', '你', '在', '也', '这'])# 创建WordCloud对象,使用SimHei.ttf中文字体wc = WordCloud(font_path='./SimHei.ttf', background_color='white',               stopwords=STOPWORDS, max_font_size=200,               max_words=500, width=1920, height=1080)# 生成词云myword = wc.generate(wl)# 显示词云plt.imshow(myword)plt.axis("off")# plt.show()wc.to_file(r'./wordcloud.png')