前言
python的wordcloud
可以很方便的生成词云图, 然而美中不足的是, 该库对中文支持并不是那么友好, 存在以下两个问题
- 中文字符会乱码
- 中文分词有问题
以下介绍如何解决
解决中文乱码
wordcloud
不支持显示中文, 可以通过如下修改来支持中文:
- 进入
python
根目录, 然后进入Lib\site-packages\wordcloud
- 进入
C:\Windows\Fonts
目录下, 拷贝一个中文字库, 如华文新魏, 将其复制粘贴到Lib\site-packages\wordcloud
目录下 - 打开
Lib\site-packages\wordcloud
目录下wordcloud.py
, 找到如下这行代码
将代码改为对应拷入进来的字库名字, 如华文新魏的字库名字为STXINWEI.TTF - 至此解决中文乱码问题
解决中文分词问题
wordcloud
的WordCloud
类中的generate
方法是先对传进去的文字进行分词, 但是对中文的分词效果不太好, 建议先自己计算词频, 存放到字典中, 然后使用generate_from_frequencies
来生成词云
1 | from wordcloud import WordCloud |