最新版python wordcloud生成词云中文乱码的解决方法

您所在的位置:网站首页 jupyter安装词云库 最新版python wordcloud生成词云中文乱码的解决方法

最新版python wordcloud生成词云中文乱码的解决方法

2023-10-22 09:05| 来源: 网络整理| 查看: 265

最新版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 的字符串,这个就是词云默认的字体!我们要做的,就是把它换成我们需要的中文字体。

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3