成都网站建设设计

将想法与焦点和您一起共享

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使用方法详解(解决中文乱码)-创新互联
链接地址:http://chengdu.cdxwcx.cn/article/cegosp.html