wordcloud库的使用

wordcloud是优秀的词云展示第三方库

1. 安装

(cmd命令行)pip install wordcloud
wordcloud库的使用_第1张图片
在这里插入图片描述

2. wordcloud库的使用

wordcloud库把词云当作一个WordCloud对象
* wordcloud.WordCloud()代表一个文本对应的词云
* 可以根据文本中词云出现的频率等参数绘制词云
* 词云的绘制形状、尺寸和颜色都可以设定

3. wordcloud库常规方法

  1. w = wordcloud.WordCloud()
    配置对象参数:
    width —— 指定词云对象生成图片的宽度,默认400像素
    height —— 指定词云对象生成图片的高度,默认200像素
    min_font_size —— 指定词云中字体的最小字号,默认4号
    max_font_size —— 指定词云中字体的最大字号,根据高度自动调节
    font_step —— 指定词云中字体的步进间隔,默认为1
    font_path —— 指定字体文件的路径,默认None
    max_words —— 指定词云显示的最大单词量,默认200
    stop_words —— 指定词云的排除词列表
    mask —— 指定词云形状,默认为长方形,需要引用imread()函数
    background_color —— 指定词云图片的背景颜色,默认为黑色

  2. w = generate(txt)
    加载词云文本

  3. w.to_file(filename)
    输出词云文件

wordcloud执行过程分解:
①分隔:以空格分隔单词
②统计:单词出现次数并过滤
③字体:根据统计配置字号
④布局:颜色环境尺寸

4. 实例:

  1. import wordcloud
    txt = 'life is shot, you need python'
    w = wordcloud.WordCloud(background_color = 'white')
    w.generate(txt)
    w.to_file('pywcloud.png')
    

    输出:
    wordcloud库的使用_第2张图片

  2. import jieba
    import wordcloud
    txt = '程序设计语言是计算机能够理解和识别用户操作意图的\
    一种交互体系,它按照特定规则组织计算机指令,使计算机能\
    够自动进行各种运算处理'
    w = wordcloud.WordCloud(width=1000, \
                            font_path='msyh.ttc', height=700)
    w.generate(' '.join(jieba.lcut(txt)))
    w.to_file('pywcloud.png')
    

    输出:
    wordcloud库的使用_第3张图片
    注:中文需要先分词并组成空格分割字符串

  3. 政府工作报告词云

    import jieba
    import wordcloud
    f = open('新时代中国特色社会主义.txt', 'r', encoding='utf-8')
    t = f.read()
    f.close()
    ls = jieba.lcut(t)
    txt = ' '.join(ls)
    w = wordcloud.WordCloud(width=1000, height=700, \
                            font_path='msyh.ttc', background_color = 'white')
    w.generate(txt)
    w.to_file('gwcloud.png')
    

    输出:
    wordcloud库的使用_第4张图片
    设定max_words = 15
    wordcloud库的使用_第5张图片
    引入mask
    注:首先需要安装imageio模块,如果安装失败,可以打开python官网加buff
    wordcloud库的使用_第6张图片
    素材:
    wordcloud库的使用_第7张图片

    import jieba
    import wordcloud
    from imageio import imread ##※
    mk = imread('heart.jpg')   ##※
    f = open('新时代中国特色社会主义.txt', 'r', encoding='utf-8')
    t = f.read()
    f.close()
    ls = jieba.lcut(t)
    txt = ' '.join(ls)
    w = wordcloud.WordCloud(width=1000, height=700, mask = mk, \ ## ※
                            font_path='msyh.ttc', background_color = 'white', \
                            max_words = 15, max_font_size = 100)
    w.generate(txt)
    w.to_file('gwcloud_mask.png')
    

    输出:
    wordcloud库的使用_第8张图片
    注意:mask的图片素材必须 “抠”出需要的形状

你可能感兴趣的:(Python学习,python)