词云的生成
- 所需库
- 代码实现
- wordclod参数说明
- 具体实现
- 效果展示
所需库
- wordcloud, jieba, imageio
- wordcloud 词云库,用来统计文本文档里面出现的高频词汇,或者句子,以图片可视化的方式显示出来
- jieba库,分割中文的库,把较长的句子分割成有意义的词汇
- imageio库, 读取图片,把词云图片以你对应的图片样式显示
- 安装方式
pip install wordcloud, jieba, imageio
代码实现
wordclod参数说明
width 词云图片宽度,默认400像素height 词云图片高度 默认200像素background_color 词云图片的背景颜色,默认为黑色background_color='white'font_step 字号增大的步进间隔 默认1号font_path 指定字体路径 默认None,对于中文可用font_path='msyh.ttc'mini_font_size 最小字号 默认4号max_font_size 最大字号 根据高度自动调节max_words 最大词数 默认200stop_words 不显示的单词 stop_words={"python","java"}Scale 默认值1。值越大,图像密度越大越清晰prefer_horizontal:默认值0.90,浮点数类型。表示在水平如果不合适,就旋转为垂直方向,水平放置的词数占0.9?relative_scaling:默认值0.5,浮点型。设定按词频倒序排列,上一个词相对下一位词的大小倍数。有如下取值:“0”表示大小标准只参考频率排名,“1”如果词频是2倍,大小也是2倍mask 指定词云形状图片,默认为矩形注意增加参数contour_width和contour_color设置轮廓宽度和颜色 # 轮廓线通过以下代码读入外部词云形状图片(需要先pip install imageio安装imageio)
具体实现
- 这里拿来诗人舒婷的《致橡树》作为demo
- https://zhidao.baidu.com/question/13111198
- coding
import os
if not os.path.exists('E:\\python\\joy\\wordcloud'): # 创建文件夹os.mkdir('E:\\python\\joy\\wordcloud')os.chdir('E:\\python\\joy\\wordcloud')def jieba_deom3(shape, input_txt, output_img):import imageioimport jieba mk = imageio.imread(shape)# 五角星形状的词图w = wordcloud.WordCloud(mask=mk)# 词图对象w = wordcloud.WordCloud(width=100, height=100,scale=15, background_color='white',font_path='msyh.ttc', # 针对中文,微软雅黑mask=mk # imageio读取的形状)# 用jieba分割词txt = ''with open(input_txt, encoding='utf-8') as f:txt += f.read()text_list = jieba.lcut(txt)# 把分割好的词组列表转换为有空格的字符串string = " ".join(text_list)w.generate(string)w.to_file(output_img)passjieba_deom3('wjx1.png', 'zxs.txt', 'zxs.png')
# 注意这个形状的图片,一定要对,不然报错,或者是个正方形
- 送上小星星
效果展示
- 写在最后
诗人也不愿要奉献施舍的爱情,不愿作整日为绿阴鸣唱的小鸟,不愿作一厢情愿的泉源,不愿作盲目支撑橡树的高大山峰。诗人不愿在这样的爱情中迷失自己。爱情需要以人格平等、个性独立、互相尊重倾慕、彼此情投意合为基础。
最后,关注,点赞,收藏😄😀
学习地址:
https://github.com/TommyZihao/zihaowordcloud