用python生成词云

本文实现用Python生成任意图形的文字云图

使用到的模块
文字云需要用到两个模块,分别是:jieba 和 wordcloud,可以通过pip方式进行安装:

pip install jieba/wordcloud

在安装wordcloud时,可能会遇到报错:
这里写图片描述
这种情况可以换种方式进行安装,在http://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud 下方找到wordcloud的下载链接,下载对应的whl文件,下载后进入存储该文件的路径,执行“pip install wordcloud‑1.3.2‑cp35‑cp35m‑win_amd64.whl”就OK了。

思路
先使用jieba分词对文章进行分词,同时读取背景的图片(用于绘制不同形状的文字图云),然后通过WordCloud生成文字图云并用画图工具进行展示。

示例
将”绅士”歌词制作成心形词云进行展示
这里写图片描述

实现代码

#分词模块
import jieba
#画图模块
import matplotlib.pyplot as plt
#文字云模块
from wordcloud import WordCloud
#读取背景图片
from scipy.misc import imread

#文件名
word_file='word.txt'
#读取文件内容
word_content=open(word_file,'r',encoding='utf-8').read().replace('\n','')
#设置背景图片
img_file='heart.jpg'
#读取背景图片
mask_img=imread(img_file)
#进行分词
word_cut=jieba.cut(word_content)
#把分词用空格连起来
word_cut_join=" ".join(word_cut)
#生成词云
wc=WordCloud(
             font_path='msyh.ttf',#设置字体
             max_words=50,#词云显示的最大词数
             mask=mask_img,#设置背景图片
             background_color='white'#背景颜色
             ).generate(word_cut_join)

plt.imshow(wc)
#去掉坐标轴
plt.axis('off')
#将图片保存到本地
plt.savefig('heart_cy.jpg')
plt.show()

生成结果
这里写图片描述

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jepson2017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值