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分词对文件进行次频处理在生成词云。

    挖个坑,以后填。。

  • 相关阅读:
    聊一聊c++中指针为空的三种写法 ----->NULL, 0, nullptr
    HTML的教程网址
    c++构造函数谁先执行的问题
    从一个模板函数聊聊模板函数里面如何获得T的名字
    sourceInsight的技巧
    【java】实体类中 Set<对象> 按照对象的某个字段对set排序
    hibernate实体xml一对多关系映射
    layer父页面调用子页面的方法
    FreeMarker的<#if></#if>标签
    怎么把myeclipse项目导入IDEA中
  • 原文地址:https://www.cnblogs.com/AlwaysT-Mac/p/6520571.html
Copyright © 2011-2022 走看看