记一次python使用wordcloud无法生成中文词云的解决方案

心血来潮,玩玩python。

看到词云这样酷炫的,高大上的东西,自然想试试。

但是本人乃java开发,python这东西仅乃“心之所向”。

开始!

pip 安装 wordcloud jieba

pip install wordcloud 

pip install jieba

使用pip安装的包,自动就进入了pycharm的 File  ——》settings ——》project:py ——》project interpreter里面,真乃运气使然(手动奸笑)

ok,刚开始就是使用

WordCloud().generate(text)

但是生成的图片就是不认识中文的

记一次python使用wordcloud无法生成中文词云的解决方案_第1张图片

ok,找资料呗~

按照说法是,因为字体的原因导致中文不认识。

解决:

本机系统是win7 64位,到路径C:\Windows\Fonts\下拿一个自己觉得好看的字体,我就随便拿了一个。放到代码运行路径下(或者是指定文件路径)

记一次python使用wordcloud无法生成中文词云的解决方案_第2张图片

修改调用方法(主要是修改font_path,其他的是其他的内容)

wc = WordCloud(mask=mask, font_path='STHUPO.TTF', width=800, height=600, mode='RGBA', background_color=None).generate(text)

ok,再运行~(报道路径:http://www.chinareports.org.cn/jryw/2020/0707/15743.html)

记一次python使用wordcloud无法生成中文词云的解决方案_第3张图片

 

附带我生成的样式图(按照我的测试是,只要是白底,好像都可以生成……也不知道是不是)

记一次python使用wordcloud无法生成中文词云的解决方案_第4张图片

好吧,上一波代码

# 打开文件
text = open('txt_file_path', encoding='utf-8').read() #要加编码,不然会报'gbk' codec can't encode character

text = ' '.join(jieba.cut(text)) #使用jieba分词
# wc = WordCloud().generate(text) #最初始的实例对象方法
mask = np.array(Image.open("background_picture_path")) #使用背景图片
wc = WordCloud(mask=mask, font_path='STHUPO.TTF', width=800, height=600, mode='RGBA', background_color=None).generate(text) #增加了背景图片,字体,大小等内容

# 显示词云
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()

# 保存文件
wc.to_file('picture_path')

不积跬步,无以至千里

你可能感兴趣的:(python,wordcloud)