python词云库wordCloud使用方法详解(解决中文乱码)-创新互联
文章中的例子主要借鉴wordColud的examples,在文章对examples中的例子做了一些改动。

一、wordColud设计中文词云乱码
使用wordColud设计词云的时候可能会产生乱码问题,因为wordColud默认的字体不支持中文,所以我们只需要替换wordColud的默认字体即可正常显示中文。
1、中文词云乱码
我们使用simhei(黑体)来替换wordColud的默认字体。
2、替换默认字体
a、在字体文件*.tff字体文件(simhei.tff)拷贝到wordColud安装的文件夹中,文件夹路径:anaconda(python)-->lib-->site-packages-->wordcolud,如下图:
其中矩形框出来的是wordColud默认的字体,椭圆形框的是我们下载的字体。
b、修改wordcolud.py文件中的字体设置,打开改路径下的wordcolud.py文件,找到下图的所示的框出来的这一行(29行)
将系统的DroidSansMono.tff修改为simhei.tff即可。
二、wordColud示例
1、设计一个简单的圆形词云
import numpy as np
import matplotlib.pyplot as plt
from wordcloud import WordCloud,STOPWORDS
from PIL import Image
from os import path
import matplotlib.pyplot as plt
#用来正常显示中文
plt.rcParams["font.sans-serif"]=["SimHei"]
#用来正常显示负号
plt.rcParams["axes.unicode_minus"]=False
import os
import random,jieba
'''
绘制单个词一个圆形的词云
'''
def single_wordColud():
text = "第一 第二 第三 第四"
#产生一个以(150,150)为圆心,半径为130的圆形mask
x,y = np.ogrid[:300,:300]
mask = (x-150) ** 2 + (y-150) ** 2 > 130 ** 2
mask = 255 * mask.astype(int)
wc = WordCloud(background_color="white",repeat=True,mask=mask)
wc.generate(text)
#将x轴和y轴坐标隐藏
plt.axis("off")
plt.imshow(wc,interpolation="bilinear")
plt.show() 分享文章:python词云库wordCloud使用方法详解(解决中文乱码)-创新互联
文章URL:http://www.jxjierui.cn/article/cegosp.html


咨询
建站咨询
