zoukankan      html  css  js  c++  java
  • Python词云展示库——wordcloud

    (1).介绍

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

      词云就是将词语通过图形可视化的方式,直观和艺术的展示出来。词云在我们的生活中经常能够看到,无论是中文的词云还是英文的词云。

      安装第三方库需要使用pip工具,在命令行下运行安装命令(不是IDLE)。注意:需要将Python目录和其目录下的Scripts目录加到环境变量中

      使用命令pip install wordcloud安装第三方库,安装之后会提示successfully installed,告知是否安装成功。

    (2).使用说明

      wordcloud库把词云当做一个WordCloud对象,即wordcloud.WordCloud()是一个代表文本对应词云的对象,一个词云就是一个WordCloud对象。wordcloud库可以根据文本中词语出现的频率等一系列参数来绘制词云,在绘制词云时,词云的形状、尺寸、颜色包括字体都是可以设定的。

      wordcloud库对具体词云的绘制有一个基本的思路,思路是用wordcloud库中的WordCloud对象来表明一个词云,WordCloud对象是一个词云的对象基础,然后向这个对象中配置参数、加载文本、输出到文件中。这同样也是词云绘制的步骤:1.配置对象参数;2.加载词云文本;3.输出词云文件。为了完成后两个步骤,我们需要将WordCloud对象赋给一个变量名,使得后两个步骤可以调用,例如:w=wordcloud.WordCloud()。

      配置对象参数(参数之间使用逗号隔开):

    参数 描述
    width

    指定词云对象生成图片的宽度,默认400像素,例如:

    >>>w=wordcloud.WordCloud(width=600)

    height

    指定词云对象生成图片的高度,默认200像素,例如:

    >>>w=wordcloud.WordCloud(height=400)

    min_font_size

    指定词云中字体的最小字号,默认4号,例如:

    >>>w=wordcloud.WordCloud(min_font_size=10)

    max_font_size

    指定词云中字体的最大字号,根据高度自动调节,例如:

    >>>w=wordcloud.WordCloud(max_font_size=20)

    font_step

    指定词云中字体字号的步进间隔,默认为1

    >>>w=wordcloud.WordCloud(font_step=2)

    font_path

    指定字体文件的路径,默认为None

    >>>w=wordcloud.WordCloud(font_path="msyh.ttc")

    max_words

    指定词云显示的最大单词数量,默认200,例如:

    >>>w=wordcloud.WordCloud(max_words=20)

    stop_words

    指定词云的排除单词列表,即不显示的单词列表,例如:

    >>>w=wordcloud.WordCloud(stop_words={"Python"})

    mask

    指定词云形状(提供白色的形状图片),默认为长方形,在使用时需要引用imread()函数,例如:

    >>>from scipy.misc import imread

    >>>mk=imread("pic.png")

    >>>w=wordcloud.WordCloud(mask=mk)

    background_color

    指定词云图片的背景颜色,默认为黑色,例如:

    >>>w=wordcloud.WordCloud(background_color="white")

      加载词云文本方法(默认前提w=wordcolud.WordCloud()):

    方法 描述
    w.generate(txt)

    向WordCloud对象w中加载文本txt,例如:

    >>>w.generate("Python and WordCloud")

      输出词云文件方法(默认前提w=wordcolud.WordCloud()):

    方法 描述
    w.to_file(filename)

    将词云输出为图像文件,采用.png或.jpg格式,例如:

    >>>w.to_file("outfile.png")

      在不指定图片宽和高时,默认图片宽为400像素,高位200像素。

      由文本变为词云,wordcloud库大概做了4件事:1.wordcloud库以空格为分隔符,将文本分割成单词;2.wordcloud库会在文本中统计每一个单词出现的次数,单词出现次数越多,那么单词显示的词云效果的字体越大,反之则反。并且将只有1到2个字符的单词过滤掉;3.wordcloud库会根据统计单词出现的次数,为不同的单词配置显示的字号;4.进行布局。

      英文词云实例:

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

      生成的图片

      中文词云实例:

    import jieba
    import wordcloud
    txt="程序设计语言是计算机能够理解和
    识别用户操作意图的一种交互体系,它按照
    特定规则组织计算机指令,使计算机能够自
    动进行各种运算处理"
    w=wordcloud.WordCloud( width=1000,
        font_path="msyh.ttf",height=700)  #必须设置字体,否则中文会显示成方框。这里字体文件与.py文件处于同一目录下
    w.generate(" ".join(jieba.lcut(txt)))
    w.to_file("pywcloud.png")
    

      生成的图片

  • 相关阅读:
    再谈 Devstack(Rocky)
    记一次性能测试与优化经历
    Nova rebuild for boot from volume issue
    OpenStack RPM Sample 解析
    [Cinder] 存储 Qos
    Octavia Rocky UDP 负载均衡功能试验
    Keepalived + LVS-NAT 实现高可用四层 TCP/UDP 负载均衡器
    LVS 四层 TCP/UDP 负载均衡器
    集群的定义以及类别定义
    对程序员又了解了一些
  • 原文地址:https://www.cnblogs.com/diantong/p/12654331.html
Copyright © 2011-2022 走看看