最新版python wordcloud生成词云中文乱码的解决方法
文章目录
- 最新版python wordcloud生成词云中文乱码的解决方法
- 1、模块安装:
- 生产词云的例子:
- 在Windows找字体文件
- 修改wordcolud.py里面的字体文件路径
- **找到你的wordcloud.py文件并打开**
- **找到如下图的第28行所示内容**
1、模块安装:
# 1、使用pip安装pip install wordcloud # 2、使用清华镜像安装pip install wordcloud -i https://pypi.tuna.tsinghua.edu.cn/simple
直接使用此模块发现中文时会乱码:
下面介绍两种解决方法
① 在使用的时候指定所需的字体ttf文件
wordcloud.WordCloud(font_path='myfont.ttf').generate(xxxx)
② 修改模块源码,彻底解决此问题
生产词云的例子:
data = open('国家综合立体交通网规划纲要.txt', 'r', encoding='utf-8').read()
wordlist = jieba.lcut(data)
strs = ' '.join(wordlist)
# 生成词云
wc = wordcloud.WordCloud(font_path="msyh.ttc",width=1000,height=700,background_color="white",stopwords={'的','和','与'})
wc.generate(strs)
wc.to_file("词云图.png")
在Windows找字体文件
上面我们用的font_path="msyh.ttc"这个字体是存在系统变量的一个
这个变量取值的是字体,msyh表示微软雅黑,直接定位的字体目录C:\Windows\Fonts,找到微软雅黑字体,所有我们可以直接用,如果用其他的字体会出现中文乱码
原因是:wordcloud的默认字体不支持中文,我们需要设置一个中文格式的路径,通过设置字体的参数font_pathgithub来设置路径。
例如
w=wordcloud.WordCloud(width=1000,height=700,font_path="msyh.ttc",background_color="white")
我们也可以自己修改wordcloud.py文件里面的字体的只向路径
直接定位的字体目录C:\Windows\Fonts
这个里面的字体都是在系统变量里面的,我们在
w=wordcloud.WordCloud(width=1000,height=700,font_path="msyh.ttc",background_color="white")
这个里面font_path=“字体文件”可以用我们在上面C:\Windows\Fonts里面找到文件名字相同的都可以用,因为这个里面的字体文件都是在系统变量里面的,可以自己用
msyh.ttc就是在里面,所以我们可以直接用
注意有些电脑可能使font_path=“msyh.ttf”,我们要去字体文件里面找到对应的名字
修改wordcolud.py里面的字体文件路径
我们也可以把字体目录C:\Windows\Fonts里面的字体
拷贝到wordColud安装的文件夹中,文件夹路径:anaconda(python)–>lib–>site-packages–>wordcolud,如下图:
其中矩形框出来的是wordColud默认的字体,椭圆形框的是我们在字体目录C:\Windows\Fonts里面拷贝或者下载的字体。
b、修改wordcolud.py文件中的字体设置,打开改路径下的wordcolud.py文件,找到下图的所示的框出来的这一行(29行)
将系统的DroidSansMono.tff修改为simhei.tff即可
找到你的wordcloud.py文件并打开
找到如下图的第28行所示内容
可以看到,该行末尾有一个xx.ttf 的字符串,这个就是词云默认的字体!我们要做的,就是把它换成我们需要的中文字体。