词云分析wordcloud

jieba模块:用来切割中文的模块
pillow:python3中用来专门处理图像的模块

import re
import jieba
from PIL import Image
from wordcloud import wordcloud
import numpy as np
def gen_wordcloud(text, filename):

#1). 强调分割中有问题的词,默认分割结果不正确的词;
jieba.suggest_freq((‘微博’), True)
jieba.suggest_freq((‘热搜’), True)
##2).如果是英文字符,切割英文
#data = []
#with open(’/tmp/passwd’) as f:

#for line in f:

#result1 = re.split(r’\s|:|/’, line)
##如果item存在数据并且不是空格或者数字, 则继续进行处理;
#result2 = [item for item in result1 if not re.findall(r’\s+|\d+’, item) and item]
#data.extend(result2)

#2). 难点: 如何切割中文, jieba, lcut
result = jieba.lcut(text)
print(result)
#绘制词云
#3). 打开图片, 获取图片的数据信息;
imgObj = Image.open(’./doc/wordcloud.jpg’)
img_mask = np.array(imgObj)
#4). 创建词云对象, 设置属性
wcObj = wordcloud.WordCloud(
mask = img_mask, #数据如何填充到图片
background_color=“snow”, #北京颜色
font_path="/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc", #如果是中文, 指定字体库(fc-list :lang=zh)
min_font_size=5, # 图片中最小的字体大小
max_font_size=50, # 图片中最小的字体大小
width=1000, #图片宽度
height=1000, #高
)
#5). 生成图片;
#词云绘制时, 默认之处理字符串类型, 怎么分隔每个单词? 必须以逗号分隔符分割
wcObj.generate(",".join(result))
wcObj.to_file(filename)

if name == ‘main’:

text = “马云曾公开表态称对钱没兴趣称其从来没碰过钱上了微博热搜”
filename = ‘doc/wcObj.png’
gen_wordcloud(text, filename)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值