没有合适的资源?快使用搜索试试~ 我知道了~
首页用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
资源详情
资源评论
资源推荐

用用Python和和WordCloud绘制词云的实现方法绘制词云的实现方法(内附让字体清晰内附让字体清晰
的秘笈的秘笈)
主要介绍了用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈),文中通过示例代码介绍的非常
详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
环境及模块:环境及模块:
Win7 64位
Python 3.6.4
WordCloud 1.5.0
Pillow 5.0.0
Jieba 0.39
目标:目标:
绘制安徽省2018年某些科技项目的词云,直观展示热点。
思路:思路:
先提取项目的名称,再用Jieba分词后提取词汇;过滤掉“研发”、“系列”等无意义的词;最后用WordCloud 绘制词云。
扩展:扩展:
词云默认是矩形的,本代码采用图片作为蒙版,产生异形词云图。这里用的图片是安徽省地图。
秘笈:秘笈:
用网上的常规方法绘制的词云,字体有点模糊,秘笈在最后点明。
正式开始,正式开始,Show you the code::
import numpy as np
from PIL import Image
import re
import jieba
from wordcloud import WordCloud,ImageColorGenerator,STOPWORDS
import matplotlib.pyplot as plt
# http://www.cnblogs.com/hatemath/
# 打开存放项目名称的txt文件
with open('content.txt','r',encoding='utf-8') as f:
word= (f.read())
f.close()
# 图片模板和字体
image=np.array(Image.open('ditu.jpg'))
font=r'C:\Windows\fonts\msyh.ttf'
# 去掉英文,保留中文
resultword=re.sub("[A-Za-z0-9\[\`\~\!\@\#\$\^\&\*\(\)\=\|\{\}\'\:\;\'\,\[\]\.\<\>\/\?\~\。\@\#\\&\*\%]", "",word)
wordlist_after_jieba = jieba.cut(resultword)
wl_space_split = " ".join(wordlist_after_jieba)
# 设置停用词
sw = set(STOPWORDS)
sw.add("研发")
sw.add("系列")
sw.add("这里不多写了,根据自己情况添加")
# 关键一步
my_wordcloud = WordCloud(scale=4,font_path=font,mask=image,stopwords=sw,background_color='white',
max_words = 100,max_font_size = 60,random_state=20).generate(wl_space_split)
#显示生成的词云
plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()
#保存生成的图片
my_wordcloud.to_file('result.jpg')
其中 ditu.jpg 为安徽省轮廓图片:













安全验证
文档复制为VIP权益,开通VIP直接复制

评论0