zoukankan      html  css  js  c++  java
  • 【python】词云图,轮廓+着色,进阶版

    词云图进阶版:

    这是画布着色+画布轮廓的进阶版本哦~

    备注:图片将替换保存,注意先copy一份

    import jieba
    #画图模块
    import matplotlib.pyplot as plt
    #文字云模块
    from wordcloud import WordCloud, ImageColorGenerator, STOPWORDS
    #读取背景图片
    import numpy as np
    from PIL import Image
    
    
    filename = "citu2.txt"
    picture = "a.jpg"
    shape = "a.jpg"
    font_path = "C:/Windows/Fonts/STXINWEI.TTF"
    girl_color = np.array(Image.open(shape))
    image_colors = ImageColorGenerator(girl_color)
    
    # 用 stopwords.add()设置屏蔽显示的词语,可以添加多个
    stopwords = set(STOPWORDS)
    stopwords.add("aaaa")
    stopwords.add("bb")
    
    text = open(filename).read()
    
    wd = WordCloud(
            width=1024,
            height=768,                  # width,height设置生成的词云图片的大小
            font_path=font_path,         # 设置字体为本地的字体,有中文必须要加
            background_color="white",    # 设置背景的颜色,需与背景图片的颜色保持一致,否则词云的形状会有问题
            max_words=100,              # 设置最大的字数
            mask=girl_color,             # 通过mask 参数 来设置背景图片,即词云的形状
            max_font_size=40,            # 设置字体的最大值
            stopwords=stopwords,         # 设置停用词
            random_state=42              # 设置有多少种随机生成状态,即有多少种配色方案
        )
    # generate 可以对全部文本进行自动分词,但是他对中文支持不好,在WordCloud中设置字符的路径
    wd.generate(text)
    
    plt.imshow(wd, interpolation="bilinear")
    plt.axis("off")  # 关闭显示x轴、y轴下标
    
    plt.figure()  # 生成一个新的图像
    # 用词云形状的图片颜色来渲染词云的颜色,用color_func来指定
    plt.imshow(wd.recolor(color_func=image_colors), interpolation="bilinear")
    plt.axis("off")
    
    plt.figure()
    plt.imshow(girl_color, cmap=plt.cm.gray, interpolation="bilinear")
    plt.axis("off")
    
    plt.show()  # 展示所有的图片
    wd.to_file(picture)  # 保存图片
    

    效果图:

  • 相关阅读:
    前端提示“页面正在载入”的功能实现
    JSON那些事
    如何让nodejs同步操作
    nodejs的一些局限
    《javascript高级程序设计》读书笔记——作用域
    svn教程
    从雷军谈小米中的一些思考
    云Vps安全设置
    不同服务器数据库之间的数据操作
    C#语言的Excel文件导入导出
  • 原文地址:https://www.cnblogs.com/helenlee01/p/12617444.html
Copyright © 2011-2022 走看看