python词云图

python词云图-----wordcloud

常规步骤:

  1. 读取文本,需要先分词( jieba.lcut() )并组成空格分隔字符串)( ’ '.join() )
  2. 自定义停词,注意最终需要为集合形式
  3. 设置词云图形状( numpy和Image库)
  4. 生成wordcloud对象,并设置大小,停词,形状,字体(如果是中文,必须设置字体)
  5. 生成词云图 ( wc.generate(‘分隔好的一个长字符串’) )
  6. 展示词云图 ( plt.imshow(wc) )
import matplotlib.pyplot as plt #数据可视化
import jieba #词语切割
import wordcloud #分词
from wordcloud import WordCloud,ImageColorGenerator,STOPWORDS #词云,颜色生成器,停止词
import numpy as np #科学计算
from PIL import Image #读取图片


#对文本进行分词   读取用gbk,是国外设置方便中文的
with open(r'E:\书籍\北京折叠、死亡考试、天渊\14-死亡考试.txt',encoding='gbk') as f:
    text=f.read()
wordlist=jieba.lcut(text)
spacelist=' '.join(wordlist)

#自定义分词词典,最后要为集合形式
with open(r'E:\python_pycharm\venv\Lib\site-packages\wordcloud\Chinese_stopword.txt',encoding='utf-8') as f:
    stopwords=f.readlines()
stopword_lists=set()
content=[stopword.replace('\n','') for stopword in stopwords]
stopword_lists.update(content)

#词云图形状
backgroud = np.array(Image.open(r'C:\Users\Mr\Desktop\s.png'))

#生成词云图对象
#中文需要设置字体路径,英文不需要
wc=WordCloud(font_path=r'E:\python_pycharm\venv\Lib\site-packages\wordcloud\STXINGKA.TTF',
             mask=backgroud,
             stopwords=stopword_lists)
#绘制词云图
wc.generate(spacelist)
plt.imshow(wc) #显示词云
plt.axis('off') #关闭x,y轴
plt.show(wc)#显示
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值