zoukankan      html  css  js  c++  java
  • 初窥wordcloud之老司机带你定制词云图片

    抓紧上车啦

    #-*-coding:utf-8 -*-
    
    from os import path
    from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
    #用来画词云的。
    import matplotlib.pyplot as plt
    #用来解析特殊的图片模板,numpy也可以的。
    from scipy.misc import imread
    
    #第一步读你要制作成词云的源文件,少年记得用‘r’去读,手抖用了次‘w+’结果文件让我清空了。。。
    dir=r'C:UserscchenDesktopMPLS_2.txt'
    text=open(dir,'r').read()
    #用导入的scipy的imread去解析模板文件,图片越大解析越慢
    alice_coloring = imread(r'C:UserscchenDesktopcloud.jpg')
    #print alice_coloring 所料不错,是个挺大的矩阵。大到卡住了
    
    #生成词云,这里可以用到很多的参数
    #background_color顾名思义,是背景的颜色
    #max_words 词云显示的最大词数
    #mask 主角,我们的个人定制的模板
    #max_font_size 字体的最大值
    #stopwords 去除一些常用词汇,比如a,is,the之类的,你可以用add加上你不想显示的词。
    #font_path='./font/cabin-sketch.bold.ttf设置字体
    wc = WordCloud(background_color="white", max_words=600, mask=alice_coloring,max_font_size=200, random_state=42,stopwords=STOPWORDS.add("said"))
    wc.generate(text)
    
    #show出来定制化的词云,颜色是随机的五颜六色,第一个图就是啦
    plt.figure()
    plt.imshow(wc)
    plt.axis("off")
    
    
    
    # 我这么低调的人肯定要用原图的黑色啊
    # 可以用color_func=image_colors来重新画
    # 根据模板获取颜色
    image_colors = ImageColorGenerator(alice_coloring)
    #获取到的颜色模板,并用该模板来重画词云
    plt.imshow(wc.recolor(color_func=image_colors))
    plt.axis("off")
    #来看下我们的模板
    plt.figure()
    plt.imshow(alice_coloring, cmap=plt.cm.gray)
    plt.axis("off")
    plt.show()

    来看看依照原图来的模板

    我们的模板

    是不是很炫酷。

    因为python2.7的蛋疼的中文编码问题。如果是中文文档的话,可以用jieba分词对文件进行次频处理在生成词云。

    挖个坑,以后填。。

  • 相关阅读:
    javascript平时小例子③(setInterval使用1)
    javascript平时小例子②(正则表达式验证邮箱)
    javascript平时小例子①(移动的小div)
    Ansible主机清单Inventory文件hosts
    K8s Deployment YAML 名词解释
    Linux自带神器logrotate详解
    Redis性能指标监控
    页面无任何操作30秒后退出1
    java 加法变乘法
    java 九数组分数
  • 原文地址:https://www.cnblogs.com/AlwaysT-Mac/p/6520571.html
Copyright © 2011-2022 走看看