• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python词云的正确实现方法实例

    一、相关模块

    jieba:中文分词

    wordcloud :Python词云库

    imageio:读取图形数据

    安装:

    pip install jieba
    pip install wordcloud
    pip install imageio
    
    

    二、wordcloud四大类

    功能
    WordCloud([font_path, width, height, …]) 生成和绘制词云对象
    ImageColorGenerator(image[, default_color]) 基于图片的色彩
    random_color_func([word, font_size, …]) 随机生成颜色
    get_single_color_func(color) 创建一个颜色函数,它返回一个色调和饱和度

    三、wordcloud类

    1、WordCloud类

    class wordcloud.WordCloud(
        font_path=None, width=400, height=200, margin=2, 
        ranks_only=None, prefer_horizontal=0.9, mask=None, 
        scale=1, color_func=None, max_words=200, min_font_size=4, 
        stopwords=None, random_state=None, background_color='black', 
        max_font_size=None, font_step=1, mode='RGB', relative_scaling='auto', 
        regexp=None, collocations=True, colormap=None, normalize_plurals=True, 
        contour_width=0, contour_color='black', repeat=False, include_numbers=False, 
        min_word_length=0, collocation_threshold=30)
    
    

    2、WordCloud参数详解

    参数 详解
    font_path 词云图的字体路径(OTF或TTF格式)
    width 画布的宽度、默认为400,如果mask不为空时,设置为mask获取图片的大小
    height 画布的高度,默认为200,如果mask不为空时,设置为mask获取图片的大小
    prefer_horizontal 默认值0.9;当值1时,遇到不合适的地方时,算法将词体自动旋转
    mask 默认为None;如果不为空,指定了画布的图形,则width和height值不生效,使用提供的图形的大小
    contour_width 如果mask不为空,并且contour_width>0,将描绘出mask获取图片的轮廓,值越大,轮廓的线越粗
    contour_color 使用Mask时,描绘图片轮廓的颜色
    scale 图片生成后放大缩小时的分辨率
    min_font_size 词云图显示的最小字体,默认为4
    max_font_size 词云图显示的最大字体
    max_words 词云显示的最大词数
    font_step 字体步长
    stopwords 不显示的词,如果没有设置,则使用默认的内置的STOPWORdS列表;如果使用generate_from_frequencies参数,则忽略
    background_color 背景颜色
    mode 默认为"RGB",当mode="RGBA"并且background_color为None时,将会显示透明背景
    relative_scaling 字体大小与词频的关系,默认值为auto
    color_func 默认为None,color_func=lambda *args, **kwargs:(255,0,0)词云的字体颜色将这设置为红色
    regexp 使用正则切分,默认为r"\w[\w']+",如果使用generate_from_frequencies则此参数不生效
    collocations 是否包含两个词的搭配,默认为True,如果使用generate_from_frequencies则此参数不生效
    colormap 设置颜色的参数,默认为"viridis",如果使用color_func参数,则此参数不生效
    normalize_plurals 是否删除尾随的词,比如's,如果使用generate_from_frequencies参数,则此参数不生效
    repeat 是否重复词组直到设置的最大的词组数
    include_numbers 是否包含数字,默认我False
    min_word_length 最小数量的词,默认为0
    collocation_threshold 默认为30,整体搭配的评分等级

    3、WordCloud类方法详解

    方法 功能
    fit_words() 根据词频生成词云
    generate_from_frequencies() 根据词频生成词云
    generate() 根据文本生成词云
    generate_from_text() 根据文本生成词云
    process_text() 将长文本分词,并去除屏蔽词
    recolor() 对输出颜色重新着色
    to_array() 转换为numpy数组
    to_file() 保存为图片文件
    to_svg() 保存为SVG(可缩放矢量图形)

    四、实例

    1、简单图案

    代码:

    import wordcloud
    
    # 词云使用的文字
    text = "lemon"
    
    # 使用wordcloud.WordCloud类,并传入相关的参数
    wc = wordcloud.WordCloud(background_color="white", repeat=True)
    wc.generate(text)
    
    # 保存图片
    wc.to_file('test1.png')
    
    

    2、自定义图片

    代码:

    import wordcloud
    
    # 导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片
    import imageio
    mk = imageio.imread("333.jpg")
    
    # 词云使用的文字
    text = "lemon"
    
    # 使用wordcloud.WordCloud类,并传入相关的参数
    wc = wordcloud.WordCloud(background_color="white", repeat=True,mask=mk)
    wc.generate(text)
    
    # 保存图片
    wc.to_file('test1.png')
    
    

    3、从文本读取

    代码:

    import wordcloud
    import jieba
    
    # 导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片
    import imageio
    mk = imageio.imread("chen.jpg")
    
    # 使用wordcloud.WordCloud类,并传入相关的参数
    wc = wordcloud.WordCloud(background_color="white",
                             prefer_horizontal=0.5,
                             repeat=True,
                             mask=mk,
                             font_path='/System/Library/Fonts/STHeiti Light.ttc',
                             contour_width=2,
                             contour_color='pink',
                             collocation_threshold=100,
                             )
    
    # 对来自外部文件的文本进行中文分词,得到string
    f = open('gong.txt', encoding='utf-8')
    txt = f.read()
    txtlist = jieba.lcut(txt)
    string = " ".join(txtlist)
    
    # 将string变量传入w的generate()方法,给词云输入文字
    wc.generate(string)
    
    # 保存图片
    wc.to_file('test.png')
    
    
    
    

    总结

    到此这篇关于Python词云的正确实现方法的文章就介绍到这了,更多相关Python词云实现内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • python生成词云的实现方法(推荐)
    • 使用python实现个性化词云的方法
    • 详解Python如何生成词云的方法
    • Python制作词云图代码实例
    • 用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
    • Python基于jieba库进行简单分词及词云功能实现方法
    • Python制作词云的方法
    • python词云库wordCloud使用方法详解(解决中文乱码)
    • python词云库wordcloud的使用方法与实例详解
    • 用python结合jieba和wordcloud实现词云效果
    上一篇:python神经网络编程之手写数字识别
    下一篇:python实现的人脸识别打卡系统
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python词云的正确实现方法实例 Python,词,云的,正确,实现,