用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
Python  /  管理员 发布于 7年前   206
环境及模块:
目标:
绘制安徽省2018年某些科技项目的词云,直观展示热点。
思路:
先提取项目的名称,再用Jieba分词后提取词汇;过滤掉“研发”、“系列”等无意义的词;最后用WordCloud 绘制词云。
扩展:
词云默认是矩形的,本代码采用图片作为蒙版,产生异形词云图。这里用的图片是安徽省地图。
秘笈:
用网上的常规方法绘制的词云,字体有点模糊,秘笈在最后点明。
正式开始,Show you the code:
import numpy as npfrom PIL import Imageimport reimport jiebafrom wordcloud import WordCloud,ImageColorGenerator,STOPWORDSimport 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 为安徽省轮廓图片:
运行结果:
可以看到,智能设备、施工工法、系统平台、电缆、机器人等都是出现较多的词汇。
最后是秘笈揭晓时间:
为什么我这张图如此清晰?打开原图可以看到,这图的分辨率是1800*2500。你用网上的大多数代码,最后生成的图,尺寸很小,上面字迹边缘模糊。
关键在于调用WordCloud时的一个参数,回放一下代码:
# 关键一步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)
第一个参数我写的是 scale=4,这个数值越大,产生的图片分辨率越高,字迹越清晰。你可以调到64试试,我希望你的电脑足够快 /笑哭
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号