jieba分词+wordcloud——《斗破苍穹》词云

效果图:

 

环境:python、jieba、wordcloud。

材料:《斗破苍穹》、背景图(背景图需要保证除了图案之外,其他地方是‘空白’,友情提示:空白是空白,不是看起来白,要保证像素值为0)

jieba和wordcloud都可以通过pip install 来安装,很省事。

 

结巴分词

千言万语抵不过官方一句: https://github.com/fxsjy/jieba

总之,我们给jieba文章,jieba给我们分开后的单词list,以及一些诸如wordcount之类的操作。

wordcloud

http://amueller.github.io/word_cloud/

这个‘词云’库也简单的令人发指,只要给它个字符串,给它个背景图片,它就可以给我们上面那个效果图。

 

我这里没有让wordcloud自己分词,而是使用结巴分词后,再用wordcloud来作图,jieba分词更高效更准确。

 

引入包

import jieba
from collections import  Counter
from os import path
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
from wordcloud import WordCloud, STOPWORDS
## 设置字符集,防止中文乱码
mpl.rcParams['font.sans-serif']=[u'simHei']
mpl.rcParams['axes.unicode_minus']=False

jieba分词(拿到list)

# 创建存储分词结果的字典
word_count = dict()
# 分词并统计词频
f = open('E:/my_create_resource/deeplearning/data/语料/斗破苍穹.txt',encoding='utf-8')
words = f.read()

seg_list = jieba.lcut(words, cut_all=True)

 

wordcloud绘制词云

cut_text =" ".join(seg_list) #将list转化为str,因为wordcloud只要str

d = path.dirname("./")
color_mask = np.array(Image.open(path.join(d, "3.jpg"))) # 引入北京图片

cloud = WordCloud(
       #设置字体,不指定就会出现乱码。非windows系统自觉更换路径
       font_path=" C:\\Windows\\Fonts\\STXINGKA.TTF",
       #font_path=path.join(d,'simsun.ttc'),
       #设置背景色
       background_color='white',
       #词云形状
       mask=color_mask,
       #允许最大词汇
       max_words=2000,
       #最大号字体
       max_font_size=40
   )
 
wCloud = cloud.generate(cut_text)
wCloud.to_file('斗破苍穹.jpg')

plt.figure(figsize=(10,8))
plt.imshow(wCloud, interpolation='bilinear')
plt.axis('off')
plt.show()
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值