|
进一步屏蔽了单个字,左下角有个大大的“反思”
词云是对文本内容进行可视化呈现的一种方式,它会对文本中出现频率较高的词进行视觉上的突出, 词语出现的频率越高,字体就会越大,颜色也会越醒目。通过查看词云图,我们能快速获取文本中的主要内容。(摘抄自 https://cloud.tencent.com/developer/article/2160340)
1. 首先需要HOH的历史发言,使用爬虫可以得到。放入附件中了,需要的人可以自行下载。
2. 安装所需的pip包
- pip install wordcloud # 主包,会自动安装多个绘图所需的包pip install jieba # 汉字分词
复制代码
3. 下载中文字体包
GitHub上已经有人提供了,https://raw.githubusercontent.com/StellarCN/scp_zh/master/fonts/SimHei.ttf,可以直接下载
可以使用wget等下载,如 - wget https://raw.githubusercontent.com/StellarCN/scp_zh/master/fonts/SimHei.ttf
复制代码
4. 主程序
要注意文件的路径,HOH的废话太多了,有很多无意义的内容,所以使用了屏蔽词功能。
- 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')
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|