worlcloud 词云创建

安装wordcloud

1、下载安装文件:https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud

注意:python命令看清楚自己的python版本和电脑64位还是32位,cp36代表的是python是3.6,同理其他。

Clipboard Image.png

2、Anaconda Prompt 下进入wordcloud的目录 运行 pip install 文件名

Clipboard Image.png

 

 第一个作业啦啦啦啦,感谢101python 

Clipboard Image.png

 


 
 
  1. # coding:utf8
  2. import sys
  3. reload(sys)
  4. sys.setdefaultencoding( "utf8")
  5. from PIL import Image, ImageSequence
  6. import numpy as np
  7. import matplotlib.pyplot as plt
  8. from wordcloud import WordCloud, ImageColorGenerator
  9. import os
  10. def read_content(content_path):
  11. '''读取目录下的所有文件并合并成一个内容块返回'''
  12. #初始化内容为空
  13. content= ''
  14. #使用os模块的listdir函数枚举文件夹下的所有文件
  15. for f in os.listdir(content_path):
  16. #拼接文件完整路径
  17. file_fullpath=os.path.join(content_path,f)
  18. #判断是否是文件
  19. if os.path.isfile(file_fullpath):
  20. print( 'loading{}'.format(file_fullpath))
  21. #将文件内容进行拼接
  22. content+=open(file_fullpath, 'r').read()
  23. #每首歌词之间用换行符分割
  24. content+= '\n'
  25. print( 'done loading')
  26. return content
  27. #读取文件夹内容
  28. content=read_content( 'E:/song/data')
  29. print( '\n显示内容的前面部分...\n')
  30. print(content[: 99])
  31. import jieba.analyse
  32. # 这里使用jieba的textrank提取出1000个关键词及其比重
  33. result = jieba.analyse.textrank(content, topK= 1000, withWeight= True)
  34. # 生成关键词比重字典
  35. keywords = dict()
  36. for i in result:
  37. keywords[i[ 0]] = i[ 1]
  38. print(keywords)
  39. # 初始化图片
  40. image = Image.open( 'E:/song/data/12.png')
  41. graph = np.array(image)
  42. # 生成云图,这里需要注意的是WordCloud默认不支持中文,所以这里需要加载中文黑体字库
  43. # wc = WordCloud(font_path='E:/song/fonts/simkai.ttf', #路径不存在时读取系统字体路径
  44. # background_color='white', max_words=1000, mask=graph)
  45. wc = WordCloud(font_path= 'C:\Windows\Fonts\simkai.ttf',
  46. background_color= 'white', max_words= 1000, mask=graph)
  47. wc.generate_from_frequencies(keywords)
  48. image_color = ImageColorGenerator(graph)
  49. # 显示图片
  50. plt.imshow(wc)
  51. plt.imshow(wc.recolor(color_func=image_color))
  52. plt.axis( "off") # 关闭图像坐标系
  53. plt.show()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值