• Python之wordcloud库的使用


    1. wordcloud库简介

    wordcloud是优秀的词云展示第三方库,它能够将一段文本变成一个词云。

    词云:将词语通过图形可视化的方式直观和艺术的展示出来。


    2. wordcloud库安装

    cmd命令行下:
    pip install wordcloud
    

    3. wordcloud库的基本使用

    wordcloud库把词云当作一个WordCloud对象

    • wordcloud.WordCloud()代表一个文本对应的词云

    • 可以根据文本中词语出现的频率等参数绘制词云

    • 词云的绘制形状、尺寸和颜色都可以设定

    wordcloud库常规方法

    wordcloud对具体词云的绘制有一个基本的思路,它的思路是用wordcloud中的WordCloud来表名一个词云。以WorldCloud对象为基础。

    w = wordcloud.WordCloud()
    
    方法 描述
    w.generate(txt) 向WordCloud对象w中加载文本txt
    w.to_file(filename) 将词云输出为图像文件,.png或.jpg格式

    例如:

    >>>w.generate( "Python and WordCloud" )
    >>>w.to_file( "outfile.png" )
    

    词云绘制步骤:

    import wordcloud
    c = wordcloud.WordCloud()				#步骤1:配置对象参数
    c.generate("wordcloud by Python")		#步骤2:加载词云文本
    c.to_file("pywordcloud.png")			#步骤3:输出词云文件
    

    从文本生成词云,wwordcloud库做了9件事情:

    • ① 分隔:以空格分隔单词
    • ② 统计: 单词出现次数并过滤。出现次数多的单词显示效果就会变的很大,反之就小
    • ③ 字体: 根据统计配置字号
    • ④ 布局: 颜色环境尺寸

    配置对象参数

    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 指定词云图片的背景颜色,默认为黑色

    例子

    >>>w=wordcloud.WordCloud(width=600)
    >>>w=wordcloud.WordCloud(height=400)
    >>>w=wordcloud.WordCloud(min_font_size=10)
    >>>w=wordcloud.WordCloud(max_font_size=20)
    >>>w=wordcloud.WordCloud(font_step=2)
    >>>w=wordcloud.WordCloud(font_path="msyh.ttc")
    >>>w=wordcloud.WordCloud(max_words=20)
    >>>w=wordcloud.WordCloud(stop_words={"Python"})
    
    # 指定词云形状
    >>>from scipy.misc import imread
    >>>mk=imread("pic.png")
    >>>w=wordcloud.WordCloud(mask=mk)
    
    # 指定词云背景色
    >>>w=wordcloud.WordCloud(background_color="white")
    
    

    注:在将中文构成词云的时候,它是用空格来去分隔单词的,在中文中我们没有办法使用空格来区分单词,所以在用中文形词云的时候,首先需要对中文文本进行分词。中文分词使用 jieba 库,关于jieba库的使用请参考文章:https://www.cnblogs.com/keepcode/p/14436010.html

    中文生词词云实例

    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")
    

    jieba.lcut(txt) 将 txt 文本分词并生成一个列表变量,其中过的每一个元素是分隔之后的单词。我们需要这样的单词以文本的形式由空格来分隔组成。

    使用 "".join函数将这样的列表由空格将各个元素组织起来。

    使用w.generate()加载一段(" ".join(jieba.lcut(txt)))的内容。


    以上内容资料均来源于中国大学MOOC网-北京理工大学Python语言程序设计课程
    课程地址:https://www.icourse163.org/course/BIT-268001

  • 相关阅读:
    模拟按键'ESC',解决韩语等输入法对输入框(codemirror)的支持
    grpc的基础知识
    HttpClientFactory 是 HttpClient 的正确使用方式
    Workflow Core + asp.net core 5.0 实现简单审批工作流
    GitHub自动化部署(CD) asp.net core 5.0 项目(免费空间)
    CleanArchitecture Application代码生成插件-让程序员告别CURD Ctrl+C Ctrl+V
    C# 字符串转成JSON对象 反射获取属性值
    java设计模式-状态模式
    2021目前可用的百度网盘不限速下载方法
    docker映射配置文件
  • 原文地址:https://www.cnblogs.com/keepcode/p/14453180.html
Copyright © 2020-2023  润新知